Skip to main content
Examples use API client signing.

Signing request types

To sign transactions you build yourself or messages you format yourself, use raw signing.

Wallet

Create a wallet with networkType: "NETWORK_TYPE_TRON". Activate the address by receiving TRX or a TRC-10 token from an existing account; receiving a TRC-20 token does not activate it. Fund it with TRX for fees and the asset being sent. Transactions consume Bandwidth; TRC-20 transfers also consume Energy. TRX pays when available resources are insufficient.

Send TRX

This TRON Mainnet example sends 1 TRX.
value is an integer string in sun: 1 TRX = 1,000,000 sun. Use base58check addresses starting with T; from and to are different addresses.

Send BTTOLD (TRC-10)

Replace tronSendNative with this payload in the same request:
This example sends 1 BTTOLD, the legacy BitTorrent TRC-10 token (assetName: "1002000", six decimals). The newer BTT token uses TRC-20. See BitTorrent’s migration notice.

Send USDT (TRC-20)

Replace tronSendNative with this payload in the same request:
This example sends 1 USDT on TRON Mainnet (six decimals). contractAddress is Tether’s TRON Mainnet USDT contract. Optional feeLimit is a positive integer string in sun that limits contract execution fees; omit it to use MPCVault’s default.

Sign and track

Sign the request. MPCVault broadcasts by default; txHash is the TRON transaction ID (txID). For TRX and TRC-10, query the solidified transaction body. Match the recipient and amount, plus the asset ID for TRC-10; check ret[0].contractRet: "SUCCESS" when present. For USDT and other TRC-20 tokens, query the solidified receipt:
Check receipt.result: "SUCCESS", no top-level result: "FAILED", and a Transfer event matching the token contract, sender, recipient and amount. An empty response is not a failure result; keep tracking the original txID. See TRON confirmation semantics.