Core Concepts

Supported networks

The chain and token tk24 accepts, and how a top-up is credited.

tk24 accepts USDT on Ethereum, credited by direct transfer to the collection wallet.

NetworkChain IDDecimalsTokenMethod
Ethereum16USDTDirect transfer

No other chain and no other token. USDC, native ETH, and transfers on Base, Arbitrum, BNB Chain, Solana, Polygon or Optimism are not credited — a transfer of one of those to the collection wallet needs manual recovery.

Direct transfer

Send USDT to the collection wallet from an Ethereum address you control. An indexer polls the chain and credits the sending wallet, typically within about a minute. No signature or API call is required.

Read the destination address from the gateway rather than hardcoding it:

curl https://api.tk24.ai/v1/config
# { "gatewayWalletAddress": "0x...", "minTopupUsd": 1, "networkMode": "mainnet",
#   "chainIds": [1], "tokens": ["USDT"], "multipliers": { "USDT": 0.997 } }

chainIds, tokens and multipliers are the source of truth for what a deployment credits and at what rate.

Send only from a wallet you control — the credit goes to the sending address, and transfers out of an exchange account cannot be credited to you.

Claiming a missed transfer

If a transfer is not credited, submit its hash. The gateway re-verifies the receipt on-chain before crediting, and the same hash can never be credited twice.

curl -X POST https://api.tk24.ai/v1/topup/direct \
  -H "Content-Type: application/json" \
  -d '{ "txHash": "0x...", "network": "1" }'
FieldTypeDescription
txHashstringThe transfer's transaction hash
networkstringOptional. Chain ID or alias (ethereum). Omit to scan every supported chain
walletAddressstringOptional. Expected sender, rejected on mismatch

/v1/topup/inflow and /v1/topup/appeal are aliases for the same handler.

Conversion rates

TokenCredit
USDT1 USDT = $0.997

Testnets

Staging (https://agent-router.gaib.cloud) runs the testnet equivalent — Ethereum Sepolia (11155111). Production rejects testnet chains outright. Check which mode a deployment is in with networkMode from GET /v1/config.

SIWE and chain IDs

The chainId in a SIWE message is not checked — the gateway verifies the signature, the address, and that issuedAt is under an hour old, nothing else. Any chain ID your wallet is on will authenticate. The examples use 1 purely as a convention.

On this page