Skip to main content

Quote tokens

Every zk-pad coin is paired with one quote token (also called the paired token). Buyers pay in it, the price is quoted in it, and the beneficiary's fees accrue in it. Only allow-listed quote tokens can be used.

Verification status

The token list, decimals and tick bounds below come from docs/research/quote-tokens.md (snapshot of 2026-10-02). They were not read on-chain from the research sandbox, and each token must pass the fork checks in that note before it is enabled on mainnet.

Tier 1: curated list​

TokenBSC mainnet addressDecimalsNotes
WBNB (default)0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c18Native wrapped BNB, no admin powers. Pay with BNB directly in the UI.
USDT (BSC-USD)0x55d398326f99059fF775485246999027B319795518Binance-Peg. Not upgradeable, no blacklist, no transfer fee. The settlement asset.
USDC (Binance-Peg)0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d18Upgradeable proxy.
USD10x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d18Freeze-capable, upgradeable.
FDUSD0xc5f0f7b66764F6ec8C8Dff7BA683102295E1640918Freeze-capable, upgradeable.
BTCB0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c18Binance-Peg BTC.
ETH (Binance-Peg)0x2170Ed0880ac9A755fd29B2688956BD959F933F818
CAKE0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE8218
XAUt (Tether Gold, RWA)0x21cAef8A43163Eea865baeE23b9C2E327696A3bf6The first real-world-asset quote. Freeze-capable, upgradeable.

Freeze-capable quotes (USD1, FDUSD, XAUt) can be paused or blacklisted by their issuers. If an issuer freezes a coin's pool or the FeeVault, trading or claims in that asset stop, and the locked liquidity cannot be migrated. The UI marks these quotes with a badge. See risks.

Consolidation. Every Tier 1 quote has a route to USDT in the mainnet config (contracts/config/56.json), so the beneficiary can always consolidate it. A creator-triggered consolidation also needs a Chainlink price feed: WBNB, BTCB, ETH and CAKE have one. USDC, USD1, FDUSD and XAUt do not (stablecoin feeds update less often than the registry's 1-hour freshness bound, and XAUt has no feed), so only the beneficiary can consolidate them. Every configured feed passed the BSC fork test on 2026-10-04; it is re-run before any new broadcast.

Default starting values​

Each quote token has a default starting market cap of roughly $7.5k FDV and an allowed starting-tick window of about $2k to $250k FDV (at 2026-10-02 prices). Ticks are in token0 orientation for a 1B-supply, 18-decimal coin with tick spacing 200.

QuoteDefault start FDVDefault tickminStartingTickmaxStartingTick
WBNB10 WBNB-184400-197800-149400
USDT / USDC / USD1 / FDUSD7,500-118200-131400-82800
BTCB0.09 BTCB-231400-244600-196200
ETH2.8 ETH-197000-210400-161800
CAKE3,000 CAKE-127200-140800-92400
XAUt1.8 XAUt-477800-491000-442600

The formula is p_raw = (FDV_in_quote / 1e9) × 10^(quoteDecimals − 18), then tick = floor(log_1.0001(p_raw) / 200) × 200. The on-chain bounds are a sanity rail against fat-finger or griefing starts (for example a near-zero FDV that hands the supply to a sniper), not a pricing engine. The SDK computes the default from a live USD price and clamps it into the bounds.

Tier 2: admitted through the QuoteRegistry​

Other tokens can be admitted through the QuoteRegistry (owner-controlled; on mainnet currently a single EOA with no timelock, see trust assumptions). The owner first approves the exact configuration (its hash). Anyone can then run the admission, supplying the test tokens themselves. Admission checks:

  • a registered settlement route to USDT (Infinity CL pools or PancakeSwap V3), used when fees are consolidated;
  • decimals between 6 and 18;
  • a transfer round-trip with no fee on transfer;
  • route depth: a small sale and a maxSwapSize sale along the route may differ in rate by at most maxDeviationBps, and both must clear the oracle bound when a price feed is set.

Each registry entry stores {tier, enabled, minStartingTick, maxStartingTick, executor, route, priceFeed, maxDeviationBps, maxSwapSize}. The registry holds the factory's admin role and mirrors {enabled, minStartingTick, maxStartingTick} into ZkPadFactory.setQuoteToken, which is the allow-list launches actually check. A guardian can disable a quote for new launches at once; existing pools keep trading. These checks are sanity rails. KYC-gated, rebasing or upgradeable tokens cannot be detected on-chain, so the owner's review remains the real gate. Details are in the consolidation reference.

bStocks: tokenized stocks and ETFs (Tier 2, RWA)​

bStocks are Binance's tokenized US stocks and ETFs on BNB Smart Chain (NVDAB, TSLAB, SPYB, QQQB and others; CoinGecko category bStocks Ecosystem). Coins can pair against any bStock that has a PancakeSwap route to USDT with at least about $5k of depth. That was 35 of 82 on 2026-10-05. The launch form has a separate RWAs · Stocks tab listing every bStock with its live liquidity. Tokens that are not enabled show the reason (no PancakeSwap route, or thin liquidity).

  • Why they qualify: no transfer fee, no rebasing, no allowlist. Splits and dividends are applied through an ERC-8056 UI multiplier that changes displayed amounts, never raw balances or pool prices.
  • Freeze-capable (Tier 2): the issuer can blocklist addresses, sanctions-list addresses across all bStocks, pause one bStock or every bStock at once, and upgrade all of them through one beacon. A pause stops trading in every pool paired against the affected bStocks. Locked liquidity cannot be migrated.
  • Consolidation: fees in a bStock consolidate to USDT through its PancakeSwap V3 route (bStock/USDT, or via WBNB). There is no Chainlink feed, so only the beneficiary can trigger it, with their own signed minimum. Creators cannot.

The full review, per-token routes and tick bounds are in docs/research/bstocks.md.

Always rejected​

RejectedWhy
Fee-on-transfer or taxed tokensPool accounting, FeeVault credits and Railgun shielding all depend on exact balance deltas.
Rebasing tokens (rUSDY, stETH-style)Balances change without transfers, so the ledgers drift.
KYC-gated or allow-listed tokens (USYC, BUIDL, VBILL, iBENJI, USDY)The pool, locker, vault, relayer, adapters and fresh stealth recipients are all arbitrary addresses that cannot be allow-listed.
Tokens with transfer hooks (ERC777 / ERC1363 callbacks)Re-entrancy surface.
Tokenized securities whose corporate actions change balances (xStocks, Ondo GM tokens)Dividends, splits and trading-hour pauses break a permanently locked pool. bStocks are the exception, see above.
Deprecated or illiquid tokens (BUSD, Binance-Peg PAXG)No reliable route or price.

Disabling a quote token​

Disabling a quote token (enabled = false) only stops new launches. Existing pools, fee collection and claims keep working.

Privacy note​

All beneficiaries' fees are eventually consolidated into USDT before shielding, so the choice of quote token does not change the final anonymity set. Before consolidation, a balance in an unusual quote token is easier to tell apart than one in WBNB or USDT.