Test tokens
Free, valueless tokens on real networks. Everything about a payment made with them is real — the transfer, the confirmations, the webhook timing — except the value.
What they are
Two families of test asset, both ordinary tokens on real public networks:
- TESTCOIN (TEST) — a plain test token. Use it wherever your live flow would use a volatile asset.
- TESTSTABLECOIN (TESTUSD) — a test stablecoin with 6 decimals, so
100000000is 100 TESTUSD. Use it wherever your live flow would use USDT or USDC.
They have no value and no market. Nobody sells them; you mint them yourself, free. → Mint test coins
Where they live
Test assets exist on a subset of the supported networks. Read the live list rather than copying one — assets and networks are added over time:
curl https://api.suward.com/v1/assets| Group | Networks | Asset ids |
|---|---|---|
| TESTCOIN | 3 | TESTCOIN_ETHEREUM TESTCOIN_OPTIMISM TESTCOIN_PLASMA |
| TESTSTABLECOIN | 3 | TESTSTABLECOIN_ETHEREUM TESTSTABLECOIN_OPTIMISM TESTSTABLECOIN_PLASMA |
Test assets declared by the specification. Decimals and availability: GET /v1/assets.
Using one in a payment
Nothing changes except the asset id:
curl -X POST https://api.suward.com/v1/payments \
-H "X-Api-Key: $SUWARD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "100000000",
"asset": "TESTSTABLECOIN_OPTIMISM",
"externalId": "test-order-1"
}'The payment gets a real address on a real network, and paying it produces real confirmations at that network's real speed — which is exactly what makes the test worth running. Confirmation requirements per network: GET /v1/blockchains → requiredConfirmations.
Minting is a normal on-chain transaction
Your wallet needs a small amount of the network's native token for gas; the test tokens themselves are free and valueless.
Amounts are still integer strings
Test assets follow the same rule as every other asset: amounts are integer strings in the smallest unit, and decimals comes from GET /v1/assets. Getting this wrong in test is much cheaper than getting it wrong in production — which is the point.
| You mean | You send | Because |
|---|---|---|
| 100 TESTUSD | "100000000" | 6 decimals |
| 0.50 TESTUSD | "500000" | 6 decimals |
| Never | 100.0 | Floats are not accepted — amounts are strings |
Next: Mint test coins to get some · Simulate if you'd rather skip the chain entirely.
Something unclear? payments@suward.com — we treat every integration question as a documentation defect.