Skip to main content

Network / Chain Information

RPC Methods

Wallets must support the following JSON-RPC methods over WalletConnect sessions. No events are required.

ton_sendMessage

Submit one or more transaction messages to the TON network.

Request

Example Request

Success Response

Error Response

ton_signData

Sign an off-chain payload (text, binary, or cell) for authentication or verification by dApps.

Request

Example Request

Success Response

Error Response

Session Properties

Wallets must include ton_getPublicKey and ton_getStateInit in the session properties when approving a session. This is mandatory for TON Connect compatibility.
When approving a session, wallets must serialize the following properties into session.sessionProperties:
  • ton_getPublicKey: The Ed25519 public key of the wallet (hex-encoded)
  • ton_getStateInit: The StateInit of the wallet contract (base64-encoded BoC)
These properties are essential for TON Connect support because:
  • The public key is required for signature verification
  • The StateInit is needed to compute and verify the wallet address, as TON addresses are derived from the contract code and initial data

Example Session Approval

This allows dApps to consume an active session without requiring additional requests to retrieve the wallet’s public key and state initialization data.

Notes & Considerations

  • If from is omitted, the wallet should prompt the user to select an address.
  • All requests and responses must comply with JSON-RPC structure (id, jsonrpc, etc.).
  • Signature verification can be done using ed25519.verify on the original bytes.
  • stateInit support is needed when your wallet supports contract deployment flows.
  • The domain field in responses indicates the originating application (dApp) domain.