WorkspaceDocumentation
BUY $ICE
The essentials

How ICEmarkets works

Everything you need to understand markets, commodity coins, peg pools, holder rewards, and the risks behind the exchange.

Launch

Every market opens with a fixed supply of 1,000,000,000 tokens, all of it seeded into a Meteora Dynamic Bonding Curve pool quoted in the commodity coin you pick. The curve opens at a $5,000 market cap — $0.000005 per token — and graduates at a $35,000 market cap, with 20% of supply held back for the graduated pool. Filling the curve takes about $7,000 of buys in the commodity coin. Each launch fixes its own curve on chain, so a market keeps the caps it launched with.

You pick the trading fee (1/2/3%), collected in the commodity coin with no creator share, and make a first buy of at least $1, typed in SOL or USDC. Tickers are at most 10 characters and the token metadata is immutable. A USDC or COIN first buy lands in one transaction: buy the coin at the Peg Desk, create the curve, open the pool, make the first swap at the minimum fee, and register the market with the Fee Router. Paying in SOL adds a Jupiter SOL → USDC transaction first. The app simulates every transaction before your wallet signs it.

Curve & graduation

The bonding curve is a real Meteora DBC pool, tradable by any terminal or router from block one — Jupiter, Axiom, Photon and GMGN index it automatically. A market shows % of curve until it fills. Meteora only migrates SOL, USDC and JUP quotes itself, so ICEmarkets runs its own migration keeper: it checks completed curves about every minute, migrates the market to a Meteora DAMM v2 pool at the same price and records the pool. Trading pauses only for the seconds between curve completion and the migration landing; the market then reads Graduated.

The graduated pool is a full-range constant-product pool with the same fee tier, still collected in the commodity coin. 100% of its liquidity is permanently locked to the Fee Router, which claims the pool's fees for holders — no one, including the creator, can pull it. A graduated market's price is read from the pool's spot price every 15 seconds, and trades route to the pool automatically.

Commodity coins & Peg Desk

A commodity coin (GLD, CL, SLV, DAYTONA, …) is not backed by a warehouse of gold or a vault of skins — it is a protocol-minted token pegged to an oracle feed and backed by a USDC reserve. The Peg Desk program is the coin's only mint authority: coin is minted at the oracle price plus a spread and burned at the oracle price minus the spread, and the spread widens with the feed's confidence interval and its age. The reserve does not sit at the Peg Desk. Most of each coin's USDC is placed as the bid in the coin's single-sided pool and the coin's ask is minted straight into it, so buys and sells clear in the pool (see Peg pools below). The share left in the Peg Desk vault covers direct sells, the launch first buy and the buyback. Every time the keeper re-places the pool, the USDC buyers paid in returns to the reserve and the coin sellers handed back is burned.

The protocol is structurally short every coin it issues, which is why supply is capped per coin and the reserve ratio — USDC in the vault plus the protocol's USDC in the pool, against the coin in circulation outside the pool — is checked on every trade: below 102% the spread doubles, below 98% buys halt. Metals and energy are priced by Pyth. Food, skins, cards, watches and cars are priced from their published or listed sources and relayed on chain by the keeper within bounded moves. Index coins are weighted baskets of other coins. 78 coins are live on mainnet; each commodity page shows its oracle, session, mint, reserve and pool.

Peg pools

A peg pool is a commodity coin's public market: one Meteora DLMM COIN/USDC pair per coin, holding a single position owned by the protocol. The liquidity is one-sided in the CME style. The ask is freshly minted coin placed in the bins just above the oracle price plus the spread; the bid is a share of that coin's USDC reserve placed in the bins just below the oracle price minus the spread. Nothing sits at the oracle price itself, so a buyer never pays below the feed and a seller never receives above it.

The keeper re-places the pool about every minute when the oracle price crosses into another bin, a side falls below half its target, or the position is missing. A re-place claims fees and withdraws everything — USDC returns to the reserve and every coin in the pool is burned — moves the empty pool to the oracle bin and deposits again. The program verifies the bins against the oracle in the same transaction, so a keeper chooses only when to sync, never the price. The ask size, bid share and bin width are set per coin by the admin multisig. Closed coins keep a bid but no ask (sell-only); halted coins are withdrawn.

Coin in the pool is not counted as circulating and USDC in the pool still counts as reserve, but only up to what the protocol itself placed — liquidity added by anyone else cannot make a coin look better backed than it is. Because the pair is an ordinary pool, Jupiter, Telegram bots and terminals can route SOL → USDC → COIN → memecoin without touching the app. Each commodity page shows its pool address, coin for sale, USDC bid and last re-place; a coin without a pool trades only at the Peg Desk through the app.

Trading routes

Buying a market with SOL is three legs: Jupiter SOL → USDC, then USDC → COIN, then COIN → token on the market's current venue — the curve before graduation, the DAMM v2 pool after. The USDC → COIN leg is split inside one transaction between the commodity's peg pool and the Peg Desk: each venue takes what it can fill at the better price, so a large buy or sell is not turned away because one venue alone is thin. Selling runs the same legs backwards and settles in USDC. A buy larger than what the curve still needs graduates the market: the curve takes what it needs and the excess commodity coin stays in your wallet. Every leg is bounded by a real quote against that venue; the app never extrapolates from the last trade and never sends a swap with an unbounded minimum output. The trade panel simulates the transaction with your wallet before you sign and shows the quote's price impact, spread and slippage — a fresh curve is thin, so check the impact on a large buy. A trade that does not fit one transaction is sent as two or three, in order, with one approval.

Fees & rewards

Of the 80% of gross trading fees ICEmarkets keeps after Meteora's 20% cut, 50% (40% of gross) goes to holders of that specific market — paid automatically in the commodity coin, weighted by balance, roughly every 15 minutes. The rest splits 25% (20% of gross) into buying back and burning $ICE, and 25% (20% of gross) to the protocol treasury. There is no creator share. Payouts go straight to wallets. Buy routes create the paired-token account at the buyer's expense. If a transfer-only holder does not yet have that account, the allocation is committed and the keeper sends it automatically after the account appears.

The Fee Router is the fee claimer of every market: on the curve it claims the DBC trading fees, and after graduation it owns the locked pool position and claims its fees. The keeper claims every 15 minutes once a market's unclaimed fees are worth about $100. A payout epoch opens when a market's holder vault holds at least $100; wallets whose time-weighted balance is worth under $5 are skipped, and shares under $1 roll into a later epoch. The buyback share accumulates per coin until $ICE launches; the Buyback program then sells the coin at the Peg Desk, buys $ICE and burns it in a single instruction bounded by an on-chain rate anchor.

Staleness, halts & breakers

Every commodity has a maximum oracle age. If the feed goes stale — a market closes for the weekend, a data vendor drops — the market shows “A current price is unavailable. Market value will return when the price feed recovers.” Exchange-traded commodities follow their venue's calendar (CME Globex, ICE US, LME): outside session hours the coin is Closed, which means sell-only at a wider spread so holders can always exit. Halted coins do not trade until an admin reopens them.

Each coin also carries circuit breakers: a per-trade cap, a supply cap, rolling 24-hour mint and redeem caps, and a price-deviation bound against the last anchored price that rejects trades on a suspicious jump. Keepers can pause the whole exchange or halt a coin; only the admin multisig can unpause.

Risks & disclosures

  • ICEmarkets coins are synthetic. They track a commodity's price via an oracle and are not a claim on any physical asset — redemption is only ever against the protocol's USDC reserve, which can be exhausted.
  • Trading may be halted at any time if a price feed becomes unreliable or stale, or a circuit breaker trips.
  • Peg pools sit at the last oracle price between keeper syncs. When the reference price moves first, arbitrage against the pool is paid from the reserve; a pool is also empty for a few seconds during every re-place, and a keeper outage leaves it at a stale price.
  • Smart-contract risk applies to every program in the stack, including third-party programs (Meteora DBC, DAMM v2 and DLMM) ICEmarkets does not control. The ICEmarkets programs have had a security review but no third-party audit has been completed yet.
  • ICEmarkets is not available to persons in the United States, the United Kingdom, or any sanctioned jurisdiction. Nothing on this site is investment, legal, or tax advice.

Contracts

Deployed on Solana mainnet-beta. All four ICEmarkets programs are upgradeable behind the admin multisig.

ICEmarkets programs

NameAddressRole
Peg Desk6jMv6pdi3nB4RRmJSojDy2cHRLMgKNM3ZEeJFngWrqQNMints and redeems commodity coins at oracle ± spread against the USDC reserve; owns every peg pool position
Fee Router9bnCKVesMxQPDaWAmiT21vaES2QgtdXinfXciTCZrbEtFee claimer of every market (curve and graduated pool); splits fees to holders, buyback and treasury
DistributorAEGw9dc3MUYR3aJXzZJjQmQDsJBJuT1RfsjoByNv4dV6Holder payout epochs: pushed payouts plus Merkle claims for the remainder
Buyback2jsn1m1EnUx2AixWn8KSvWa7bqgQJrLqr2pQenzok4LkSells the buyback share at the Peg Desk, buys $ICE and burns it in one instruction

Third-party programs

NameAddressRole
Meteora DBCdbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqNBonding curve every market launches on
Meteora DAMM v2cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGGPool a market graduates into
Meteora DLMMLBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxoCommodity peg pools (COIN/USDC)
Pyth receiverrec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJPrice updates for Pyth-fed coins
Metaplex Token MetadatametaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1sCoin and market token metadata

Mainnet accounts

NameAddressRole
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1vReserve asset of every commodity coin
Peg Desk global config9E4VJpHEjkUgoNCMkwLDt5jzUVgD7jsvjU4myP6KdjRJAdmin, keeper set, treasury, pause switch, reserve thresholds
Admin & treasuryBHzGnjM3Ltev3EwHveBSvkV66CSgV9bR72V84NRxPgdzSquads multisig vault; every admin action is a proposal
Launch lookup table7q2xRdpLCxwuLJJ81mvdtH12HkgTatsVrBkUHBwJp8oCCompresses the one-transaction launch
Peg pool lookup table264bDRiipwLTf6zMvGnrNAMRChYX1cXdeKzAQu6jEYAdPeg pool accounts a launch or trade must pass

Per-coin mints, reserve vaults and peg pools are listed on each commodity page. Source of truth: packages/registry/src/programs.ts and deployments/mainnet-beta.json in the repository.

ICEmarkets · Built on Solana

Commodity coins are synthetic and redeemable only against the protocol reserve. Trading may halt.

Risks & disclosures