Files
proxmox/docs/04-configuration/CHAIN138_X402_TOKEN_SUPPORT.md
defiQUG dbd517b279 Sync workspace: config, docs, scripts, CI, operator rules, and submodule pointers.
- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains
- Omit embedded publish git dirs and empty placeholders from index

Made-with: Cursor
2026-04-12 06:12:20 -07:00

4.9 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
# Default token set: cUSDT_V2, cUSDC_V2, then legacy cUSDT, cUSDC (override with repeated --token SYMBOL=0x…).

Last run: April 7, 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 0x9FBfab33882Efe0038DAa608185718b772EE5660 Supported Supported Yes
cUSDC V2 0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d Supported Supported Yes
cEURC V2 0x243e6581Dc8a98d98B92265858b322b193555C81 Supported Supported Yes
cEURT V2 0x2bAFA83d8fF8BaE9505511998987D0659791605B Supported Supported Yes
cGBPC V2 0x707508D223103f5D2d9EFBc656302c9d48878b29 Supported Supported Yes
cGBPT V2 0xee17c18E10E55ce23F7457D018aAa2Fb1E64B281 Supported Supported Yes
cAUDC V2 0xfb37aFd415B70C5cEDc9bA58a72D517207b769Bb Supported Supported Yes
cJPYC V2 0x2c751bBE4f299b989b3A8c333E0A966cdcA6Fd98 Supported Supported Yes
cCHFC V2 0x60B7FB8e0DD0Be8595AD12Fe80AE832861Be747c Supported Supported Yes
cCADC V2 0xe799033c87fE0CE316DAECcefBE3134CC74b76a9 Supported Supported Yes
cXAUC V2 0xF0F0F81bE3D033D8586bAfd2293e37eE2f615647 Supported Supported Yes
cXAUT V2 0x89477E982847023aaB5C3492082cd1bB4b1b9Ef1 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 live forward-canonical V2 compliant USD and Wave 1 ISO-4217/commodity tokens. For the full GRU V2 promotion gate on the active Chain 138 addresses, also use GRU_V2_CHAIN138_READINESS.md.
  • Execution mode note: x402 should still be treated as a 7702 settlement rail even when ERC-4337 remains the baseline smart-account fallback on Chain 138 for broader Thirdweb wallet execution.
  • Standards target: this x402 capability is now verified on the live Chain 138 Wave 1 c* V2 deployments and remains the repo-wide target profile for future c* V2 currencies as captured in GRU_STANDARDS_PROFILE.md and config/gru-standards-profile.json.
  • Important coexistence note: V1 cUSDT and cUSDC still back the live PMM/pool/liquidity routes, while cUSDT V2 and cUSDC V2 are the permit/auth-capable contracts for x402 and the next transport cutover.
  • Options:
    1. Use V2 contracts for x402 immediately: point x402 pricing to cUSDT V2 or cUSDC V2.
    2. 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.

When a Chain 138 token gains permit

After a token on Chain 138 supports ERC-2612 or ERC-3009:

  1. Re-run ./scripts/verify/check-chain138-token-permit-support.sh --token SYMBOL=ADDRESS for the active V2 inventory and update this doc.
  2. In the x402 API, use network: chain138 (custom chain definition) and set price to the V2 token object, e.g. price: { amount: "<base units>", asset: { address: "0x219522c60e83dEe01FC5b0329d6fA8fD84b9D13d", decimals: 6 } } for cUSDC V2.
  3. Keep V1/V2 symbol resolution explicit in transport and explorer integrations until the canonical cutover is complete.