data.ton. See the Swap Quoting page for the full input parameters.
Native sentinel
tokenIn / tokenOut for native TON. Internally routed through pTON v2.
Request
Response — data.ton
data.ton fields
Each message:
Signing
TonConnect (recommended)
Privy embedded (Solana key reused via shared Ed25519)
TON’s wallet v4r2 verifies signatures with the same Ed25519 primitive Solana uses — a Privy Solana embedded wallet covers TON natively, no new key.Mnemonic (server-side / scripts)
Seepackages/execution-engine/src/spot/ton/signAndBroadcast.ts for the canonical reference (uses @ton/crypto mnemonicToWalletKey + sign(hash, secretKey)).
Send
{ data: { transactionHash } } once toncenter /message accepts the BoC.
Supported DEXs
Stonfi v1 is excluded — its frozen pTON v1 master would bounce TON-input swaps.
Limits
- Max 4 messages per signature (v4r2 wallet contract). Calldata builder enforces this.
- No EIP-155 chainId — pass
'ton:mainnet'verbatim. TonConnect’snetworkfield discriminates. - Address forms — both friendly (
EQ…/UQ…) and raw (0:<hex>) accepted on input.