- Institutional / JVMTM / reserve-provenance / GRU transport + standards JSON - Validation and verify scripts (Blockscout labels, x402, GRU preflight, P1 local path) - Wormhole wiring in AGENTS, MCP_SETUP, MASTER_INDEX, 04-configuration README - Meta docs, integration gaps, live verification log, architecture updates - CI validate-config workflow updates Operator/LAN items, submodule working trees, and public token-aggregation edge routes remain follow-up (see TODOS_CONSOLIDATED P1). Made-with: Cursor
3.6 KiB
3.6 KiB
Chain 138 Token Support for x402 Payments
Purpose: Record which Chain 138 tokens support ERC-2612 (permit) or ERC-3009, and thus can be used with thirdweb x402 payments.
References: thirdweb x402, CHAIN138_TOKEN_ADDRESSES.md, plan: x402 and Permit Support for Chain 138.
On-chain check results
Run the verification script (from repo root, with Chain 138 RPC reachable):
./scripts/verify/check-chain138-token-permit-support.sh [RPC_URL] [--token SYMBOL=ADDRESS]...
# Optional: --dry-run to print RPC and token addresses only
For the full operational + token readiness picture, use:
./scripts/verify/check-chain138-x402-readiness.sh [CORE_RPC] [PUBLIC_RPC] [EXPLORER_STATS] [--token SYMBOL=ADDRESS]...
# Optional: --strict to exit non-zero until Chain 138 is fully x402-ready
Last run: March 31, 2026. Script confirms the following for deployed contracts on Chain 138.
| Token | Address | ERC-2612 (permit) | ERC-3009 (transferWithAuthorization) | x402-compatible |
|---|---|---|---|---|
| cUSDT | 0x93E66202A11B1772E55407B32B44e5Cd8eda7f22 |
Not supported | Not supported | No |
| cUSDC | 0xf22258f57794CC8E06237084b353Ab30fFfa640b |
Not supported | Not supported | No |
| cUSDT V2 | 0x8d342d321DdEe97D0c5011DAF8ca0B59DA617D29 |
Supported | Supported | Yes |
| cUSDC V2 | 0x1ac3F4942a71E86A9682D91837E1E71b7BACdF99 |
Supported | Supported | Yes |
WETH and WETH10 on Chain 138 (see CHAIN138_TOKEN_ADDRESSES.md) are standard approve/transferFrom implementations and do not expose permit or ERC-3009 in the repo; they are not x402-compatible in their current form.
Implications
- thirdweb x402 requires the payment token to support either ERC-2612 permit or ERC-3009 (e.g. sign +
transferWithAuthorization/receiveWithAuthorization). See Chain and token support. - Current state: Chain 138 is now x402-ready through the staged V2 compliant USD tokens.
- Standards target: this x402 capability is the repo-wide target profile for future
c* V2currencies as captured in GRU_STANDARDS_PROFILE.md andconfig/gru-standards-profile.json. The broader standards profile applies to all GRU manifest currencies, even where deployment is still staged. - Important coexistence note: V1
cUSDTandcUSDCstill back the live PMM/pool/liquidity routes, whilecUSDT V2andcUSDC V2are the permit/auth-capable contracts for x402 and the next transport cutover. - Options:
- Use V2 contracts for x402 immediately: point x402 pricing to
cUSDT V2orcUSDC V2. - Complete the liquidity/transport cutover: migrate GRU transport, registry aliases, and cW pool mappings from V1 to V2 before making V2 the primary explorer/liquidity surface.
- Use V2 contracts for x402 immediately: point x402 pricing to
When a Chain 138 token gains permit
After a token on Chain 138 supports ERC-2612 or ERC-3009:
- Re-run
./scripts/verify/check-chain138-token-permit-support.sh --token SYMBOL=ADDRESSfor the active V2 inventory and update this doc. - In the x402 API, use
network: chain138(custom chain definition) and setpriceto the V2 token object, e.g.price: { amount: "<base units>", asset: { address: "0x1ac3F4942a71E86A9682D91837E1E71b7BACdF99", decimals: 6 } }forcUSDC V2. - Keep V1/V2 symbol resolution explicit in transport and explorer integrations until the canonical cutover is complete.