Documentation
How COMO works
COMO is the commodity launchpad of Arc, Circle's USDC-native blockchain. Every token launched on COMO trades against a commodity: tokenized gold, silver and oil bridged 1:1 from Robinhood Chain, or oracle-priced synthetic commodities such as platinum, copper, nickel or Brent crude. Holders can earn part of the trading fees, paid in that commodity.
Overview
COMO is made of four parts, all on-chain and verifiable:
| Component | What it does |
|---|---|
| Bridge | Moves GLD, SLV and USO stock tokens from Robinhood Chain to Arc, 1:1, and back. |
| Launchpad | Launches a token with a fixed supply, liquidity locked forever in a Uniswap v3 pool against a commodity. |
| Fee locker | Collects every trading fee, converts it to the commodity and splits it between creator, holders and the $COMO buyback. |
| Commodity Desk | Quotes synthetic commodities around an oracle price, with a dedicated USDC reserve per commodity. |
Everything runs on smart contracts. An off-chain keeper relays bridge operations, publishes commodity prices, collects fees and pushes holder rewards; it cannot move user funds.
Getting started
- Add Arc to your wallet. Arc (chain ID 5042) uses USDC as its gas token. Connect with the button at the top of the site: it adds the network for you.
- Get USDC on Arc for gas and purchases, from an exchange or a bridge that supports Arc.
- Optional: bring commodities. Hold GLD, SLV or USO on Robinhood Chain? Use the Bridge to move them to Arc.
- Trade or launch. Buy tokens from their page, or create your own on Launch.
- Follow your holdings and claim rewards on Portfolio.
Commodities
A token can be paired with two kinds of commodities:
| Backed commodities | Synthetic commodities | |
|---|---|---|
| Examples | GLD (gold), SLV (silver), USO (WTI oil) | Platinum, copper, nickel, Brent, natural gas… |
| Backing | 1:1 by the stock token locked in a vault on Robinhood Chain | Not backed |
| Price | Market price of the stock token | Oracle price of the front-month futures contract |
| Liquidity | Uniswap v3 pools against USDC | The COMO Desk, around the oracle price |
| Holder rewards paid in | GLD, SLV or USO | The synthetic token (cPLAT, cBRENT…) |
Markets are grouped in six categories:
Energy
Crude oil, natural gas and refined fuels.
Metals
Precious, base and battery metals.
Agricultural
Grains, oilseeds and soft commodities.
Industrial
Materials for industry.
Livestock
Cattle, hogs and dairy.
Beyond commodities
Government bonds, carbon and real assets.
The full list, with live and upcoming markets, is on the Commodities page.
Bridge
Robinhood Chain → Arc
Deposit the stock token into its vault on Robinhood Chain. The fee is 1% (with a small minimum that covers keeper gas), capped at 1% by a contract constant. The keeper then mints the same amount, minus the fee, on Arc.
Arc → Robinhood Chain
redeem burns your tokens on Arc; the keeper releases the underlying stock token from the vault to the destination you chose.
Caps and epochs
Daily caps limit minting and releases per asset, and reset at 00:00 UTC. Requests above the cap are accepted and queued, then processed in order at the next epoch. A maximum supply also applies per asset.
Proof of reserves
The Reserves page compares, live, the stock tokens held by each vault with the supply on Arc. Coverage = (vault reserves − deposits not yet minted) ÷ (Arc supply + redeems not yet released). We show the worst coverage first, never an average.
Launchpad
Every launch follows the same rules, enforced by the launcher contract:
- Fixed supply: 1,000,000,000 tokens, all placed in a single-sided Uniswap v3 position (1% fee tier) against the chosen commodity.
- Liquidity locked forever: the position NFT is held by the fee locker, which has no withdrawal function.
- No owner, no mint, no pause on the token itself.
- Tradeable everywhere from the first block: no bonding curve and no migration. Any wallet, aggregator or terminal that supports Uniswap v3 on Arc can trade it.
- Dev buy (optional): executed in the same transaction as the launch, so it cannot be front-run. Not available on synthetic pairs.
Fees
The creator chooses total fees between 1% and 5%: the 1% Uniswap pool fee plus a token tax of 0% to 4%.
- Buys: the tax is deducted from the tokens you receive.
- Sells: the tax is charged on top of the amount sold, from your remaining balance. Max sell = balance × 10,000 / (10,000 + tax in bps).
- Wallet-to-wallet transfers are never taxed.
All fees are converted to the pair commodity and split by the fee locker:
| Share | Goes to |
|---|---|
| 60% | Creator bucket. The creator chooses what part of it (0–100%) is paid to holders. |
| 40% | Buyback and burn of $COMO. |
Example
These shares are constants in the contract. The same model applies to backed and synthetic pairs.
Holder rewards
Rewards are paid in the pair commodity, pro rata to balances, and computed on-chain with a reward-per-share accumulator: no snapshots and no Merkle roots. They follow transfers, and pools, the fee locker, the launcher and the dead address are excluded.
Release and payout
- Fees distributed to holders are released linearly over 24 hours, so timing a purchase cannot capture them.
- Hourly rounds: at every full hour (UTC), each token that has built up at least $150 of fees since its last payout sends its rewards to every holder with at least $0.25 to receive.
- Holders can always claim themselves, at any time, from the token page or the Portfolio.
The countdown to the next round and the fees built up are shown live on the home page and on each token page.
$COMO
$COMO is the platform token. It is paired with USDC and has 1% fees, with no holder share. Its value mechanism is the buyback and burn: 40% of all fees generated by every token on COMO, backed and synthetic pairs included, buy $COMO on the market and send it to the dead address.
Synthetic commodities
Not backed
Price
Each synthetic token tracks one quotation unit (troy ounce, pound, barrel, metric ton…). Most markets follow the front-month futures contract; at each contract roll the published price is adjusted so it does not jump, so over time it can differ from the contract currently traded. Nickel, zinc and tin follow the official LME cash settlement price and bronze the German reference price, both published once per business day by Westmetall: these markets are always quoted with the wider closed-market spread.
The Desk
The Commodity Desk contract quotes each synthetic against USDC: it sells slightly above the oracle price and buys back slightly below (0.5% when the market is open, 2% when closed, weekends included). The USDC paid by buyers goes to a reserve dedicated to that commodity; buybacks come only from that reserve. The treasury is never a counterparty.
How you trade
COMO never sells a synthetic directly. You buy a token paired with a synthetic in USDC: the route goes through the synthetic in the same transaction. When a market is paused, its oracle is on hold, or its reserve has no buy order yet, the site tells you exactly why a trade is unavailable.
Markets
| Market | Price source | Unit | Max move / hour | Max move / day |
|---|---|---|---|---|
PL=F futures | troy ounce | 5% | 15% | |
PA=F futures | troy ounce | 5% | 15% | |
HG=F futures | pound | 5% | 15% | |
ALI=F futures | metric ton | 5% | 15% | |
BZ=F futures | barrel | 7% | 15% | |
NG=F futures | MMBtu | 8% | 20% | |
RB=F futures | gallon | 8% | 18% | |
HRC=F futures | short ton | 5% | 15% | |
HO=F futures | gallon | 7% | 15% | |
| Westmetall (daily, LME cash) | metric ton | 15% | 20% | |
| Westmetall (daily, LME cash) | metric ton | 15% | 20% | |
| Westmetall (daily, LME cash) | metric ton | 15% | 20% | |
| cBRONZE Bronze | Westmetall (daily, German price) | kg | 15% | 20% |
Supply is capped at $25,000 per commodity at launch; the cap is raised as liquidity grows.
Reserve and coverage
Coverage = USDC reserve ÷ (circulating supply × oracle price). It is published live on the Reserves page. Because the Desk sells above and buys below the oracle price, round trips strengthen the reserve; a sharp price rise lowers coverage.
Oracle and safeguards
Prices are published by a dedicated key through the Desk, which updates its orders in the same transaction.
- Hourly and daily limits: a price is rejected if it moves too far from the reference prices of the current hour, the previous hour, or the day (see the table above).
- Distance travelled: the sum of accepted moves within an hour is capped, so a compromised key cannot move the price back and forth.
- Halt on rejection: a rejected price freezes the feed and the Desk withdraws its orders at once. Quoting resumes only after the price is confirmed on a second source and set by the guardian, then the market is resumed by the owner — two different keys.
- Staleness: an old price can no longer be read; orders are withdrawn instead of quoting it.
- Pause: the guardian can pause one or all markets at any time. Pausing withdraws orders; it never touches the reserve.
Trading safely
- Use official pools. Anyone can create another Uniswap pool with the same tokens, sometimes with a manipulated price. Each token page lists its official pools; on external terminals, check the pool address and fee tier.
- Check the contract. Compare the token address with its COMO page. COMO contracts are verified on the Arc and Robinhood Chain explorers.
- Set slippage. The site always sends a minimum amount received; low-liquidity tokens move fast.
- Tax tokens. Some aggregators misestimate amounts on taxed tokens. This site accounts for the tax.
- Beware of impersonation. The only official site is
como.markets. COMO will never ask for your seed phrase or private key.
Security and roles
The contracts were reviewed in several independent passes, with every finding reproduced on a fork of Arc, fixed, and covered by regression tests. They have not been audited by an external firm.
| Role | Can | Cannot |
|---|---|---|
| Owner | Configure pairs, caps and spreads; resume a paused market | Withdraw liquidity, vault underlying or Desk reserves |
| Guardian (treasury) | Pause markets and bridge operations; set a confirmed price on a halted feed (±50%) | Resume markets; move user funds |
| Keeper | Relay bridge operations, collect fees, push rewards, rebalance the Desk | Mint beyond caps; withdraw funds |
| Oracle key | Publish prices within limits; pause a market | Resume a market; force a price |
Risks
- Custodial bridge. Minting on Arc and releases on Robinhood Chain are done by the keeper. If it stops, bridging stops.
- Smart contract risk. Contracts are tested and reviewed but not externally audited.
- Underlying custody. Vaults hold Robinhood stock tokens, which may be subject to issuer or compliance restrictions.
- Synthetic commodities. Not backed by the physical commodity. Buybacks are limited to each reserve. Prices depend on an oracle operated by COMO, with a delay versus real-time markets; if it stops or halts, the Desk stops quoting.
- Market risk. Launched tokens are highly volatile and can lose all their value.
- Thin liquidity. Pools can be shallow, especially right after launch.
FAQ
+Can the liquidity of a token be removed?
No. The Uniswap position is held forever by the fee locker, which has no function to withdraw it.
+Why did I not receive rewards this hour?
Rounds are sent only once a token has built up $150 of fees since its last payout, and only to holders with at least $0.25 to receive. Your rewards keep accruing and can be claimed at any time.
+Can I buy a synthetic commodity directly on COMO?
No. You buy tokens paired with a synthetic, in USDC. Rewards on those tokens are paid in the synthetic, which you can keep or sell for USDC from your Portfolio.
+What happens on weekends?
Backed pools trade as usual. Synthetic markets stay open with a wider spread, because futures markets are closed.
+Why is a trade unavailable on a synthetic pair?
The market may be paused, its price on hold after an unusual move, or its reserve may not have a buy order yet. The trade panel shows the exact reason.
+Are COMO tokens tradeable outside the site?
Yes, from the first block, on any app that supports Uniswap v3 on Arc.
Glossary
| Term | Meaning |
|---|---|
| Arc | Circle's layer-1 blockchain, where USDC is the gas token. |
| Robinhood Chain | The chain where GLD, SLV and USO stock tokens are issued. |
| Pair commodity | The asset a token trades against, and in which its fees and rewards are paid. |
| Creator bucket | The 60% of fees assigned to the creator, part of which can go to holders. |
| Desk | The contract that quotes synthetic commodities around the oracle price. |
| Spread | The distance between the oracle price and the Desk's buy and sell prices. |
| Coverage | Reserves divided by what is owed, shown live on the Reserves page. |
| Roll | Switch from one futures contract month to the next. |
| Guardian | The key allowed to pause and to confirm a price on a halted feed. |
Contract addresses
Arc (chain 5042)
- CommodityLauncher0x246b55686078b41D318A99af1eC13d99b78B458e
- FeeLocker0x9fcF28F0457A5a2eCA108546E5A440A52a0B73b5
- GLD token0x5f33C1780a8491202985c814649E0567D037819f
- SLV token0xE5Cd899CB091b8Dbe9031a1098603193121cBBA4
- USO token0x09112d81F9094d4539847Ee56AEA9adA70f49Af0
- Uniswap SwapRouter020x53BF6B0684Ec7eF91e1387Da3D1a1769bC5A6F77
- Uniswap QuoterV20x7DfD4F31be6814D2906BDE155c3e1B146EAc1468
Robinhood Chain (chain 4663)
- GLD vault0x5f33C1780a8491202985c814649E0567D037819f
- SLV vault0x174631fdE773EE36633ab310bA812616b3D5168F
- USO vault0xE5Cd899CB091b8Dbe9031a1098603193121cBBA4
- GLD stock token0xC9a981FEE1F9DEc688bb123ccDeCc63D0deBFC4e
- SLV stock token0x411eFb0E7f985935DAec3D4C3ebaEa0d0AD7D89f
- USO stock token0xa30FA36Db767ad9eD3f7a60fC79526fB4d56D344