docs(payments): sync token and chain coverage with the pay-core catalog - #99
Open
chris13524 wants to merge 2 commits into
Open
docs(payments): sync token and chain coverage with the pay-core catalog#99chris13524 wants to merge 2 commits into
chris13524 wants to merge 2 commits into
Conversation
Nothing syncs this table with pay-core's `SUPPORTED_TOKENS`, so it had drifted: six offered tokens were missing and five rows misstated fiat settlement. Verified against the catalog by dumping every registered token with its rendered CAIP-19, offered/disabled state, and offramp-allowlist membership, then diffing that against this file. All 43 GA rows now match. Added to GA (registered and offered today): - CHFAU on Ethereum, Polygon, Base - SoFiUSD and USAT on Ethereum - USDG on Robinhood Chain (Ethereum was already listed) - WBNB on BSC (WETH and WPOL were already listed) Settlement corrections. Fiat settlement comes from two offramp allowlists with different corridors — Iron covers USD/EUR, Ezeebit covers USD only among the currencies this page documents: - USDT/Polygon claimed Fiat (USD, EUR) but is in neither allowlist, so it has no direct offramp path at all — now Direct Crypto - USDC/Solana, USDT/Ethereum and USDT/Solana claimed EUR but are Ezeebit-only, which has no EUR corridor — now Fiat (USD) - USDT/BSC claimed Direct Crypto only, understating its Ezeebit support — now Fiat (USD), consistent with the other Ezeebit rows Added to Coming soon (registered but gated off by a rollout flag): - ETH on Robinhood Chain, alongside the other native-ETH rows - USDC on Stellar Also normalized the two PYUSD addresses to their EIP-55 checksummed form, so every identifier on the page is byte-identical to what the API returns. Deliberately not changed, pending a product decision: - Ezeebit also settles to KES and ZAR. Those corridors appear nowhere on this page or on Fiat Coverage, so listing them here would contradict that page. - ~35 volatile tokens (WBTC, LINK, UNI, AAVE, LDO, wstETH, ARB, OP, MORPHO, PENDLE, CRV, MKR, COMP, SNX, 1INCH, PEPE) are registered but reach buyers only as swap sources gated per merchant, so they are arguably not GA. - Fiat Coverage lists GBP as generally available, but no offramp provider and no currency enum variant supports it. Co-Authored-By: Claude <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
The premise was wrong. The offramp allowlists gate the settlement destination — the asset the offramp receives — not the token the buyer pays. Swap sources are expanded against every settlement candidate, offramp routes included, so a token in no allowlist still reaches fiat by swapping into one first. USDT/Polygon -> USDC -> Iron -> EUR is a real path, so marking that row Direct Crypto was a regression, not a fix. Keeps the missing-token additions and the address normalization, which stand on their own. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Nothing syncs this table with pay-core's
SUPPORTED_TOKENS— no CI check, no codegen, no test — so it had drifted: six offered tokens were missing entirely.Companion PR adding a step to pay-core's
add-tokenskill so this stops happening: WalletConnect/pay-core#1546.How this was verified
Dumped every registered token from
src/tokens.rswith its rendered CAIP-19 and offered/disabled state, then diffed that against this file. All 43 GA rows now match the catalog exactly, and no disabled or test-only token is listed.Added to GA
Registered and offered today, but absent from the page:
Added to Coming soon
Registered but gated off by a rollout flag: ETH on Robinhood Chain (alongside the other native-ETH rows) and USDC on Stellar.
Also
Normalized the two PYUSD addresses to their EIP-55 checksummed form, so every identifier on the page is byte-identical to what the API returns. Both spellings parse, so this is cosmetic.
The Settlement column — left alone, but it needs a product decision
An earlier revision of this PR "corrected" five rows in the Settlement column. That was wrong and has been reverted (9d72d7a). Recording why, because the same mistake is easy to repeat:
The offramp allowlists (
SUPPORTED_IRON_TOKENS,SUPPORTED_EZEEBIT_TOKENS) gate the settlement destination — the asset the offramp receives as a deposit — not the token the buyer pays.expand_candidatespairs swap sources with every settlement candidate, offramp routes included, so a token in no allowlist still reaches fiat by swapping into one first.USDT/Polygon → USDC → Iron → EURis a real path.Which raises the actual question for this page: now that swaps are live, does the per-row Settlement distinction still mean anything? Any offered token with swap liquidity can reach fiat for a merchant who has opted in via
token_allowlist. The page's own footnote anticipated exactly this — "fiat coverage will expand as WalletConnect Pay introduces internal swaps, allowing a broader set of tokens to be converted into supported offramp assets before payout" — and that has now shipped, which arguably makes both the column and the footnote stale in the opposite direction from what I first assumed.Since fiat reachability now depends on per-merchant configuration rather than on the token, this is a product/marketing call, not something to derive from the code. Flagging rather than guessing.
Other open questions
Currencyenum variant supports it. Separate fix, flagging it here.🤖 Generated with Claude Code