Skip to main content
Single endpoint, same shape as Solana / EVM. The TON-specific calldata sits under data.ton. See the Swap Quoting page for the full input parameters.

Native sentinel

Use this tokenIn / tokenOut for native TON. Internally routed through pTON v2.

Request

Response — data.ton

data.ton fields

Each message:

Signing

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)

See packages/execution-engine/src/spot/ton/signAndBroadcast.ts for the canonical reference (uses @ton/crypto mnemonicToWalletKey + sign(hash, secretKey)).

Send

Returns { 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’s network field discriminates.
  • Address forms — both friendly (EQ…/UQ…) and raw (0:<hex>) accepted on input.