@erudite-intelligence/x402-ton
v1.0.0
Published
x402 Payment Protocol V2 - TON (The Open Network) Plugin. Signed BOC-based TON and Jetton payments for AI agents and web services. 900M Telegram users.
Maintainers
Readme
@erudite-intelligence/x402-ton
x402 Payment Protocol V2 — TON (The Open Network) Plugin
The first x402 implementation for TON. Native TON and Jetton (USDT/USDC) payments for AI agents and web services. 900M Telegram users.
Published by Erudite Intelligence LLC under the @erudite-intelligence npm org.
Overview
This package implements the exact payment scheme for the x402 protocol on The Open Network (TON). TON is integrated into Telegram, giving it access to 900 million users — the largest potential user base of any blockchain.
Network: TON (The Open Network)
Scheme: exact
CAIP-2: ton:mainnet
Unit: nanotons (1 TON = 1,000,000,000 nanotons)
Supports: Native TON transfers + Jetton transfers (USDT, USDC)
Signing: Ed25519 (not secp256k1)
Serialization: BOC (Bag of Cells)
Install
npm install @erudite-intelligence/x402-tonUsage
Native TON Payment
const { createPayment } = require("@erudite-intelligence/x402-ton");
const payload = await createPayment(
{
scheme: "exact",
network: "ton:mainnet",
amount: "1000000000", // 1 TON in nanotons
asset: "TON",
payTo: "UQMerchantAddress...",
maxTimeoutSeconds: 60,
},
{
privateKey: "your-hex-private-key-or-mnemonic-array",
apiConfig: { apiKey: "your-toncenter-api-key" }
}
);USDT Jetton Payment
const { createPayment, JETTON_MASTERS } = require("@erudite-intelligence/x402-ton");
const payload = await createPayment(
{
scheme: "exact",
network: "ton:mainnet",
amount: "1000000", // 1 USDT (6 decimals)
asset: JETTON_MASTERS.mainnet.USDT,
payTo: "UQMerchantAddress...",
maxTimeoutSeconds: 60,
extra: {
jettonMaster: JETTON_MASTERS.mainnet.USDT,
}
},
{
privateKey: ["word1", "word2", ...], // 24-word mnemonic
apiConfig: { apiKey: "your-toncenter-api-key" }
}
);Server (Facilitator)
const { verifyPayment, settlePayment } = require("@erudite-intelligence/x402-ton");
const result = await verifyPayment(
paymentPayload,
expectedPayTo,
expectedAmount,
expectedNetwork
);
if (result.isValid) {
const settlement = await settlePayment(paymentPayload, expectedNetwork);
}TON-Specific Notes
- Ed25519 signing — not secp256k1. TON uses its own key format.
- BOC format — transactions serialized as Bag of Cells, not hex/PSBT
- Seqno — TON uses sequence numbers for replay protection (like XRPL)
- valid_until — time-based expiry enforced both client and server side
- Jetton wallets — each user has a per-Jetton wallet contract address; the package resolves this automatically
- Wallet versions — v4R2 is default and most common; W5 is newer
- Block time — ~5 seconds, very fast finality
- TonCenter API key — public endpoints are rate-limited; get a free key at toncenter.com
USDT on TON
TON USDT is the official Tether token on TON. Jetton master: EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
TON has more USDT volume than many competing chains, making USDT-on-TON an especially high-value target for x402 endpoints.
Related Packages
@erudite-intelligence/x402-tron-v2— Tron USDT@erudite-intelligence/x402-btc— Bitcoin@erudite-intelligence/x402-ltc— Litecoin@erudite-intelligence/x402-doge— Dogecoin@erudite-intelligence/x402-xrp— XRP Ledger
Erudite Intelligence LLC — Building the x402 ecosystem beyond EVM and Solana.
