Pool Composition
A deployment is neither one pool nor one pool per pair. Assets are grouped into a small number of cores: each core holds legs that share a reserve, a curve family and a risk configuration. Below: why the cut, the roster each chain’s cores carry (generated from its deploy manifest), and what each class of core means.
Why several cores rather than one
Nothing in the protocol requires more than one pool. The grouping is an economic choice on three counts.
| Driver | Consequence |
|---|---|
| A shared curve must fit every leg it serves | A core’s legs are priced by one shape scaled per asset. Similar depth and volatility profiles take that scaling well; a stablecoin and a single-name equity in one core force a shape that suits neither, since the width that keeps a $1 leg tight is nowhere near the width an equity needs |
| Correlated legs make inventory mean-revert | Flow that drains one leg tends to arrive against another, so the skew that prices the imbalance also gets paid to undo it. Assets with no relationship accumulate one-sided inventory |
| Isolation bounds a failure | A depeg, a dead feed or a halted asset stops only the core it belongs to. A stablecoin losing its peg does not take the equity book down with it |
Legs inside a core are similar enough to share a curve and net against each other; cores differ enough that a failure stays in its core. The cut is a configuration decision, and composition is expected to change as rosters grow, as an asset’s behaviour diverges from the core it was placed in, or as a new class justifies its own core.
Every asset anchors directly to the base, so each core is a flat star on its base. That is the shape the manifests use, not the protocol’s: the anchor tree admits depth up to 4, and an asset may anchor to any correlated parent (Anchor Path Pricing).
Rosters below track the deployment manifests; per-pool membership authority is the receipt record each deploy ceremony writes per (pool, leg). Pool addresses: Contract Addresses. Per-asset metadata: Asset Registry.
Cores by chain
Monad
| Core | Code | Base | Legs | Status |
|---|---|---|---|---|
| Core | C | USDC | USDC, WMON, CBBTC, WBTC, WETH, XAUT0 | created |
Balances change by the block and are not recorded here: GET /v1/assets/pools and GET /v1/liquidity report them live.
Leg parameters: Monad
Launch config, from the deploy manifest; live values are on-chain and can differ after launch (read the pool’s Admin). Status is from the pool records. theta, minFee and minDisp in basis points (the manifest stores PBPS, parts per million), refBand and depegHalt in basis points, seedUsd the genesis seed.
| Core | Leg | Status | Class | Curve | theta | minFee | minDisp | kappa | refBand | depegHalt | seedUsd |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Core | USDC | deployed | stable | bell_100 | 0.5 | 1 | 2 | 150 | – | 2000 | 2480 |
| Core | WMON | deployed | volatile | bell_500 | 6 | 12.1 | 6 | 150 | 150 | – | 790 |
| Core | CBBTC | deployed | volatile | bell_500 | 2 | 4.1 | 3 | 150 | 150 | – | 990 |
| Core | WBTC | deployed | volatile | bell_500 | 3 | 8 | 3 | 150 | 150 | – | 0 |
| Core | WETH | deployed | volatile | bell_500 | 3 | 6.1 | 4 | 150 | 150 | – | 700 |
| Core | XAUT0 | deployed | volatile | bell_500 | 8 | 20 | 150 | 150 | 150 | – | 0 |
Arc Testnet
| Core | Code | Base | Legs | Status |
|---|---|---|---|---|
| Stable | S | USDCB | USDCB, USDT, USDS, USD1, PYUSD | created |
| Forex | F | USDCB | USDCB, EURC, QCAD, AUDF, JPYC, KRW1 | not created |
| Crypto | X | USDCB | USDCB, USDT, WETH, WBTC, CBBTC, BNB, XAUT, PAXG, EURC | created |
| Equity | E | USDCB | USDCB, INTC, AMD, NVDA, ASML, SPCX, AVGO, TSLA, MSFT, ORCL, META | not created |
Balances change by the block and are not recorded here: GET /v1/assets/pools and GET /v1/liquidity report them live.
Leg parameters: Arc Testnet
Launch config, from the deploy manifest; live values are on-chain and can differ after launch (read the pool’s Admin). Status is from the pool records. theta, minFee and minDisp in basis points (the manifest stores PBPS, parts per million), refBand and depegHalt in basis points, seedUsd the genesis seed.
| Core | Leg | Status | Class | Curve | theta | minFee | minDisp | kappa | refBand | depegHalt | seedUsd |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Stable | USDCB | deployed | stable | cn_w100_d100_flat | 0.25 | 0.9 | 2 | 2500 | – | 2500 | 400 |
| Stable | USDT | deployed | stable | cn_w100_d100_wall | 0.26 | 1.8 | 1.76 | 600 | 150 | 1000 | 400 |
| Stable | USDS | deployed | stable | cn_w100_d100_wall | 0.26 | 1.4 | 2.29 | 600 | 150 | – | 400 |
| Stable | USD1 | deployed | stable | cn_w100_d100_wall | 0.32 | 3.48 | 4.69 | 600 | 150 | 500 | 400 |
| Stable | PYUSD | deployed | stable | cn_w500_d100_wall | 0.87 | 2.26 | 1.58 | 600 | 150 | – | 400 |
| Forex | USDCB | not created | stable | cn_w100_d100_flat | 0.25 | 0.9 | 2 | 2500 | – | 2500 | 400 |
| Forex | EURC | not created | fx | cn_w500_d500_flat | 5 | 12 | 15.66 | 1500 | 250 | – | 400 |
| Forex | QCAD | not created | fx | cn_w500_d500_flat | 5 | 12 | 14.72 | 1500 | 250 | – | 400 |
| Forex | AUDF | not created | fx | cn_w500_d500_flat | 5 | 12 | 24.93 | 1500 | 250 | – | 400 |
| Forex | JPYC | not created | fx | cn_w500_d500_flat | 5 | 12 | 20.5 | 1500 | 250 | – | 400 |
| Forex | KRW1 | not created | fx | cn_w500_d500_flat | 5 | 12 | 37.4 | 1500 | 250 | – | 400 |
| Crypto | USDCB | deployed | stable | cn_w100_d100_flat | 0.25 | 0.9 | 2 | 2500 | – | 2500 | 400 |
| Crypto | USDT | deployed | stable | cn_w100_d100_wall | 0.26 | 1.8 | 1.76 | 600 | 150 | 1000 | 400 |
| Crypto | WETH | deployed | volatile | cn_w500_d500_flat | 5 | 15 | 20.34 | 2000 | 300 | – | 400 |
| Crypto | WBTC | deployed | volatile | cn_w500_d500_flat | 5 | 12 | 18.87 | 2000 | 300 | – | 400 |
| Crypto | CBBTC | deployed | volatile | cn_w500_d500_flat | 5 | 12 | 18.87 | 2000 | 300 | – | 400 |
| Crypto | BNB | deployed | volatile | cn_w500_d500_flat | 5 | 12 | 18.42 | 2000 | 300 | – | 400 |
| Crypto | XAUT | deployed | volatile | cn_w500_d500_flat | 5 | 17.5 | 15 | 1800 | 200 | – | 400 |
| Crypto | PAXG | deployed | volatile | cn_w500_d500_flat | 5 | 20.03 | 15 | 1800 | 200 | – | 400 |
| Crypto | EURC | deployed | fx | cn_w500_d500_flat | 5 | 12 | 15.66 | 1500 | 250 | – | 400 |
| Equity | USDCB | not created | stable | cn_w100_d100_flat | 0.25 | 0.9 | 2 | 2500 | – | 2500 | 400 |
| Equity | INTC | not created | volatile | cn_w500_d500_flat | 5 | 18 | 19.5 | 2500 | 300 | – | 400 |
| Equity | AMD | not created | volatile | cn_w500_d500_flat | 5 | 18 | 19.5 | 2500 | 300 | – | 400 |
| Equity | NVDA | not created | volatile | cn_w500_d500_flat | 5 | 18 | 19.5 | 2500 | 300 | – | 400 |
| Equity | ASML | not created | volatile | cn_w500_d500_flat | 5 | 15 | 19.5 | 2500 | 300 | – | 400 |
| Equity | SPCX | not created | volatile | cn_w500_d500_flat | 5 | 15 | 19.5 | 2500 | 300 | – | 400 |
| Equity | AVGO | not created | volatile | cn_w500_d500_flat | 5 | 15 | 19.5 | 2500 | 300 | – | 400 |
| Equity | TSLA | not created | volatile | cn_w500_d500_flat | 5 | 15 | 19.5 | 2500 | 300 | – | 400 |
| Equity | MSFT | not created | volatile | cn_w500_d500_flat | 5 | 15 | 19.5 | 2500 | 300 | – | 400 |
| Equity | ORCL | not created | volatile | cn_w500_d500_flat | 5 | 15 | 19.5 | 2500 | 300 | – | 400 |
| Equity | META | not created | volatile | cn_w500_d500_flat | 5 | 15 | 19.5 | 2500 | 300 | – | 400 |
BNB Chain
| Core | Code | Base | Legs | Status |
|---|---|---|---|---|
| Core | C | USDC | USDC, USDT, USD1, U, WBNB, BTCB, ETH, XAUT, QQQb | planned |
Balances change by the block and are not recorded here: GET /v1/assets/pools and GET /v1/liquidity report them live.
Leg parameters: BNB Chain
Launch config, from the deploy manifest; live values are on-chain and can differ after launch (read the pool’s Admin). Status is from the pool records. theta, minFee and minDisp in basis points (the manifest stores PBPS, parts per million), refBand and depegHalt in basis points, seedUsd the genesis seed.
| Core | Leg | Status | Class | Curve | theta | minFee | minDisp | kappa | refBand | depegHalt | seedUsd |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Core | USDC | planned | stable | bell_100 | 0.5 | 1 | 2 | 600 | – | 2000 | 150000 |
| Core | USDT | planned | stable | bell_100 | 0.6 | 1.2 | 1.82 | 600 | 100 | 1000 | 150000 |
| Core | USD1 | planned | stable | bell_100 | 0.7 | 2.3 | 3.5 | 600 | 100 | 500 | 125000 |
| Core | U | planned | stable | bell_100 | 0.75 | 2.4 | 2.52 | 600 | 100 | 500 | 75000 |
| Core | WBNB | planned | volatile | bell_500 | 12.5 | 25 | 17 | 600 | 300 | – | 0 |
| Core | BTCB | planned | volatile | bell_500 | 12.5 | 25 | 16 | 600 | 300 | – | 0 |
| Core | ETH | planned | volatile | bell_500 | 12.5 | 25 | 20 | 600 | 300 | – | 0 |
| Core | XAUT | planned | volatile | bell_500 | 7.5 | 15 | 10 | 600 | 300 | – | 0 |
| Core | QQQb | planned | equity | bell_500 | 12.5 | 25 | 20 | 600 | 300 | – | 0 |
Roster symbols are upper-case and dot-free; the on-chain symbol() of a testnet mock differs (Asset Registry).
Stable core
The trading legs and the base are $1-pegged and run the depeg-band guards (Flow Guards). Risk parameters derive from measured density; shipped values are generated from the deployment manifests, not hand-tuned.
Crypto core
Wrapper variants of one asset can collapse onto one mark feed or keep their own; the Feed column of Asset Registry is the authority per chain.
Forex core
Non-USD fiat stablecoins, so unlike the stable core these are not $1-pegged: each marks against its own currency, and every non-base leg carries an independent breaker feed on the reference tier. A leg far from parity is sized from the real ceremony mark, never a peg default. The core is created once its currencies are signed.
Equity core
Created once its equity price source is live. Fee floors are fitted from measured density and ship with the listing, never as class defaults; a leg waits for tape and does not use a neighbour’s parameters. Rosters are picked by measured tick activity on the venue feed, not by general popularity; re-measure before changing one.
Faucet twins
A testnet base that is a mintable twin sits on every core. It owns no feed of its own: it reads the USDC-USD lane and has no reference band, only the parity halt (Asset Registry). Membership authority is the ceremony’s per-pool receipts, not any roster summary, the tables above included.
Future work: yield-bearing pooling
No NAV-accruing asset is listed today. A NAV wrapper’s fair value is its share price, which drifts upward, so bands sized around a $1 peg would fire on ordinary accrual. Planned for a later phase as a dedicated cohort with its own class, never inside the stable core: sUSDS, sUSDe, syrupUSDC, syrupUSDT, USYC. Requirements: NAV-aware marks (share price, not \kappa_{\text{cov}} > 0$ on every listed asset including the hub; see Parametrization and kappa).