ref_block_bytes, ref_block_hash, expiration) if you omit them.
To sign without broadcasting — for example when using a gas-sponsoring RPC like
Transatron — use
tron_signTransaction instead.To send a transaction, make a All addresses in A successful response looks like:Check out the API reference for more details.
POST request toraw_data.contract must be 41-prefixed hex — use TronWeb.address.toHex() to convert from base58check.TRX transfer
TRC-20 transfer
Parameters
string
required
Must be
"tron_sendTransaction".string
Tron CAIP-2 chain. Defaults to
tron:mainnet. Use tron:nile for the Nile testnet.array
required
Array of exactly one contract — either
TransferContract (native TRX) or TriggerSmartContract
(TRC-20 / smart contract call). All addresses must be 41-prefixed hex.number
Maximum energy fee in sun. Required for
TriggerSmartContract. 100_000_000 (100 TRX) is a safe
default for standard TRC-20 transfers.string
4 hex-character block reference. Optional — Privy fetches fresh values if omitted.
string
16 hex-character block reference hash. Optional — Privy fetches fresh values if omitted.
number
Expiration timestamp in Unix milliseconds. Optional — Privy sets
now + 60s if omitted.string
Optional idempotency key (max 64 characters). Re-submitting the same
reference_id returns the
cached response.Returns
string
Tron transaction ID — SHA-256 of the raw transaction bytes, lowercase hex, no
0x prefix.string
The CAIP-2 chain the transaction was broadcast on.
string
Privy internal transaction ID.

