Skip to main content

Tokens

Three stablecoins, treated equally.

USDC

Circle. Widest coverage across EVM chains.

USDT

Tether. Dominant on TRON and heavily used in Asia.

EURC

Circle’s euro stablecoin. Useful if you price and bank in euros.
You pick a settlement token — what you want to be paid in. Customers pay in any token you’ve enabled, on any chain you’ve enabled.
Phase 1 is stablecoin-only. Accepting volatile assets like ETH or BTC and converting at checkout is planned but not live. Roadmap.

Chains

Choosing

Start narrow

Two or three cheap chains — Base, Arbitrum, Polygon — covers most customers with minimal operational load.

Every chain has a cost

Each one you enable is another pool to deploy and another native-gas balance to keep topped up so you can claim.
Enabling a chain you can’t claim on is worse than not enabling it. Your money accumulates somewhere you can’t withdraw from until you acquire that chain’s native token.

Two chain-specific notes

Stablecoins on BNB Chain are 18-decimal rather than the 6 used elsewhere, and our deposit path does not yet handle that consistently. Enabling it before the fix risks a decimal-scaling error, so it stays off until corrected. Roadmap.
Mainnet USDT rejects changing a non-zero allowance to another non-zero value — a quirk of that specific contract. A repeat customer with a leftover allowance would have their wallet payment fail.Testnet is unaffected, and the fix is a mainnet go-live gate. Pay-by-address is unaffected either way. Roadmap.

Per-cell control

You control availability at the level of each (token, chain) pair, not just per chain — so you can accept USDC on Base but not USDT on Base, if that suits your treasury. This is enforced server-side, so a crafted request can’t use a combination you disabled.

Cross-chain and cross-token tolerance

The deposit rail accepts value, not a specific token on a specific chain. A customer who pays the right value in a different enabled stablecoin, or on a different enabled chain, is detected and reconciled rather than rejected. A payment in something you haven’t enabled surfaces as wrong_token for you to handle rather than vanishing. Edge cases.

Availability

All chains are on testnet today. Mainnet is enabled per chain after a third-party audit, a public bug bounty, and legal sign-off. Nothing is deployed to any mainnet yet — deliberately.
Contract addresses for every chain are published at /verify.