Skip to main content
These are the methods that wallets should implement to handle Tron transactions and messages via WalletConnect.

Session Properties

To enable the new simplified transaction structure, wallets should include tron_method_version: "v1" in their sessionProperties during the connection handshake:
{
  "sessionProperties": {
    "tron_method_version": "v1"
  }
}
When tron_method_version is set to "v1", the transaction structure is simplified to remove the nested transaction.transaction format. If not set, the legacy nested format is used for backward compatibility.

tron_signTransaction

Sign a Tron transaction without executing it.

Parameters

  • The transaction to sign:
    • address (string) - The sender’s Tron address
    • transaction (object) - The transaction object to sign

Returns

  • The signed transaction:
    • txID (string) - The transaction ID (deterministically derived from raw transaction)
    • signature (array) - Array of signature strings
    • raw_data (object) - The raw transaction data
    • raw_data_hex (string) - The hex-encoded raw transaction data
    • visible (boolean) - Whether addresses are in visible format

Example (Legacy Format)

  • Request with the nested transaction.transaction format
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tron_signTransaction",
  "params": {
    "address": "TLyqzVGLV1srkB7dToTAEqgDSfPtXRJZYH",
    "transaction": {
      "transaction": {
        "raw_data": {
          "contract": [
            {
              "parameter": {
                "value": {
                  "data": "095ea7b30000000000000000000000001cb0b7348eded93b8d0816bbeb819fc1d7a51f310000000000000000000000000000000000000000000000000000000000000000",
                  "owner_address": "411cb0b7348eded93b8d0816bbeb819fc1d7a51f31",
                  "contract_address": "41a614f803b6fd780986a42c78ec9c7f77e6ded13c"
                },
                "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
              },
              "type": "TriggerSmartContract"
            }
          ],
          "ref_block_bytes": "885b",
          "ref_block_hash": "baa1c278fd0a309f",
          "expiration": 1745849082000,
          "fee_limit": 200000000,
          "timestamp": 1745849022978
        }
      }
    }
  }
}
  • Response:
{
  "jsonrpc": "2.0",
  "result": {
    "txID": "66e79c6993f29b02725da54ab146ffb0453ee6a43b4083568ad9585da305374a",
    "signature": [
      "7e760cef94bc82a7533bc1e8d4ab88508c6e13224cd50cc8da62d3f4d4e19b99514f..."
    ],
    "raw_data": {
      "expiration": 1745849082000,
      "contract": [
        {
          "parameter": {
            "type_url": "type.googleapis.com/protocol.TriggerSmartContract",
            "value": {
              "data": "095ea7b30000000000000000000000001cb0b7348eded93b8d0816bbeb819fc1d7a51f310000000000000000000000000000000000000000000000000000000000000000",
              "contract_address": "41a614f803b6fd780986a42c78ec9c7f77e6ded13c",
              "owner_address": "411cb0b7348eded93b8d0816bbeb819fc1d7a51f31"
            }
          },
          "type": "TriggerSmartContract"
        }
      ],
      "ref_block_hash": "baa1c278fd0a309f",
      "fee_limit": 200000000,
      "timestamp": 1745849022978,
      "ref_block_bytes": "885b"
    },
    "visible": false,
    "raw_data_hex": "0a02885b2208baa1c278fd0a309f4090c1dbe5e7325aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a15411cb0b7348eded93b8d0816bbeb819fc1d7a51f31121541a614f803b6fd780986a42c78ec9c7f77e6ded13c2244095ea7b30000000000000000000000001cb0b7348eded93b8d0816bbeb819fc1d7a51f3100000000000000000000000000000000000000000000000000000000000000007082f4d7e5e73290018084af5f"
  },
  "id": 1
}

Example (New Format with tron_method_version: “v1”)

Request with the simplified format:
{
  "request": {
    "method": "tron_signTransaction",
    "params": {
      "address": "TKZRPqoV7WLFvjhT4cEyBLv27Rvv1RNWGj",
      "transaction": {
        "visible": false,
        "txID": "539f218871fdd87e94eb03a0dd617107ba722005f37a5ddb82cb65aa4f3b73b0",
        "raw_data": {
          "contract": [
            {
              "parameter": {
                "value": {
                  "data": "095ea7b300000000000000000000000069319ea845b1c35a1f7b0e1429f4f303e8f791330000000000000000000000000000000000000000000000000000000000000000",
                  "owner_address": "4169319ea845b1c35a1f7b0e1429f4f303e8f79133",
                  "contract_address": "41eca9bc828a3005b9a3b909f2cc5c2a54794de05f"
                },
                "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
              },
              "type": "TriggerSmartContract"
            }
          ],
          "ref_block_bytes": "7803",
          "ref_block_hash": "16138f9255a1db91",
          "expiration": 1756201572000,
          "fee_limit": 200000000,
          "timestamp": 1756201512720
        },
        "raw_data_hex": "0a027803220816138f9255a1db9140a0ad95ae8e335aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a154169319ea845b1c35a1f7b0e1429f4f303e8f79133121541eca9bc828a3005b9a3b909f2cc5c2a54794de05f2244095ea7b300000000000000000000000069319ea845b1c35a1f7b0e1429f4f303e8f79133000000000000000000000000000000000000000000000000000000000000000007090de91ae8e3390018084af5f"
      }
    },
    "expiryTimestamp": 1756201811
  },
  "chainId": "tron:0xcd8690dc"
}
  • Response:
{
  "visible": false,
  "txID": "539f218871fdd87e94eb03a0dd617107ba722005f37a5ddb82cb65aa4f3b73b0",
  "raw_data": {
    "contract": [
      {
        "parameter": {
          "value": {
            "data": "095ea7b300000000000000000000000069319ea845b1c35a1f7b0e1429f4f303e8f791330000000000000000000000000000000000000000000000000000000000000000",
            "owner_address": "4169319ea845b1c35a1f7b0e1429f4f303e8f79133",
            "contract_address": "41eca9bc828a3005b9a3b909f2cc5c2a54794de05f"
          },
          "type_url": "type.googleapis.com/protocol.TriggerSmartContract"
        },
        "type": "TriggerSmartContract"
      }
    ],
    "ref_block_bytes": "7803",
    "ref_block_hash": "16138f9255a1db91",
    "expiration": 1756201572000,
    "fee_limit": 200000000,
    "timestamp": 1756201512720
  },
  "raw_data_hex": "0a027803220816138f9255a1db9140a0ad95ae8e335aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a154169319ea845b1c35a1f7b0e1429f4f303e8f79133121541eca9bc828a3005b9a3b909f2cc5c2a54794de05f2244095ea7b300000000000000000000000069319ea845b1c35a1f7b0e1429f4f303e8f79133000000000000000000000000000000000000000000000000000000000000000007090de91ae8e3390018084af5f",
  "signature": [
    "1c2dd921c15fd83ca1dec4fd999b801f08c8bb073702f4bfafa4132a6e129421ed6267ec81c7dd2e4ef04ce077b101186ec2cda86d69f9f44255c216398cc9c601"
  ]
}

tron_signMessage

Sign a personal message.

Parameters

The message to sign:
  • message (string) - The message to sign (plain text)
  • address (string) - The account address to sign with

Returns

The signed message:
  • signature (string) - The signature string

Example

  • Request:
{
  "request": {
    "method": "tron_signMessage",
    "params": {
      "address": "TXUEmLr...",
      "message": "This is a message to be signed for Tron"
    },
    "expiryTimestamp": 1758269816
  },
  "chainId": "tron:0xcd8690dc"
}
  • dApp result (what client.request(…) resolves to):
{ "signature": "0x1ec623ee6e4716f5a116d0a2755b158ac05dfbc3e9118cca..." }
The methods below are not part of the required wallet surface in the Reown official Tron Wallet example. dApps may perform these directly against a Tron node or gateway. Wallets may implement them for convenience, but they’re not required.

tron_sendTransaction (optional)

Broadcast a signed transaction to the Tron network.

Parameters

The signed transaction object:
  • txID (string) - The transaction ID
  • signature (array) - Array of signature strings
  • raw_data (object) - The raw transaction data
  • raw_data_hex (string) - The hex-encoded raw transaction data

Returns

The transaction result:
  • result (boolean) - Whether the transaction was successfully broadcast
  • txid (string) - The transaction ID that can be used to look up the transaction

Example

  • Request:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tron_sendTransaction",
  "params": {
    "signedTransaction": {
      "txID": "66e79c6993f29b02725da54ab146ffb0453ee6a43b4083568ad9585da305374a",
      "signature": [
        "7e760cef94bc82a7533bc1e8d4ab88508c6e13224cd50cc8da62d3f4d4e19b99514f..."
      ],
      "raw_data_hex": "0a02885b2208baa1c278fd0a309f4090c1dbe5e7325aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a15411cb0b7348eded93b8d0816bbeb819fc1d7a51f31121541a614f803b6fd780986a42c78ec9c7f77e6ded13c2244095ea7b30000000000000000000000001cb0b7348eded93b8d0816bbeb819fc1d7a51f3100000000000000000000000000000000000000000000000000000000000000007082f4d7e5e73290018084af5f"
    }
  }
}
  • Response:
{
  "jsonrpc": "2.0",
  "result": {
    "result": true,
    "txid": "66e79c6993f29b02725da54ab146ffb0453ee6a43b4083568ad9585da305374a"
  },
  "id": 1
}

tron_getBalance (optional)

Get the TRX balance of a Tron address.

Parameters

  1. address (string) - The Tron address to query

Returns

number - The balance in SUN (1 TRX = 1,000,000 SUN)

Example

- Request:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tron_getBalance",
  "params": {
    "address": "TLyqzVGLV1srkB7dToTAEqgDSfPtXRJZYH"
  }
}
  • Response:
{
  "jsonrpc": "2.0",
  "result": 1000000000,
  "id": 1
}

Additional Resources

For more information about Tron RPC methods and implementation details, please refer to the official Tron documentation.
I