Documentation

How Brc Exchange
works

The full reference for traders and integrators: the Arc network, swaps and concentrated liquidity, the USDC bridge, the cross-chain USDC market, and BRC staking.

arc.network.configv2.01 LTS

network: "Arc"

chain_id: 5042

gas_token: "USDC (native, 18 dec)"

usdc_erc20: "0x3600…0000 (6 dec)"

explorer: "arc-scan.io"

settlement: "canonical USDC only"

custody: null

read on-chain, not from a feed

Overview

Brc Exchange is a decentralised exchange suite built on Arc, Circle's USDC-native mainnet. Everything on the platform settles in canonical USDC — no wrapped assets, no synthetic stand-ins — and every product is non-custodial: your funds sit in audited pool, escrow, or position contracts that only your wallet can move.

The suite is five products that share one design:

ProductWhat it doesStatus
SwapTrade BRC and USDC through concentrated-liquidity pools with on-chain quotes.Live
LiquidityProvide liquidity into price ranges you choose and earn the pool's trading fees.Live
BridgeMove USDC between Ethereum, Base, Avalanche and Arc over Circle's own Gateway and CCTP rails.Awaiting Circle
USDC MarketAn order-book market for Arc USDC against Base USDC, settled by cross-chain proof.Live
Arc Tools — DisperseSend a token to up to 500 wallets per transaction.Live
Arc Tools — Token LockTime-lock tokens with a cliff or staged release schedule.Live
EarnStake BRC through lock options and earn BRC rewards.Interface preview
Arc is currently a private mainnet: Circle gates the canonical routes in and out. That gate is what the Bridge's status lights track, and it is also why the USDC Market exists at all — Arc USDC trades at a premium while exit routes are whitelisted.

Getting started

Add the Arc network

Use the Add Arc button in the status bar (visible when a browser wallet is installed), or add it manually:

ParameterValue
Network nameArc
Chain id5042
Native currencyUSDC (18 decimals)
Explorerarc-scan.io

The two USDCs — read this once

Arc has two distinct USDC assets and confusing them is the most common integration mistake:

  • Native gas USDC — 18 decimals, pays transaction gas, what your wallet shows as the account balance.
  • ERC-20 USDC — 6 decimals, at 0x3600…0000, what pools, the bridge and the market actually trade.

Gas on Arc is cheap; a fraction of a cent of native USDC covers many transactions. Bridged arrivals through the relayer need no gas at all — see Bridge.

Swap

Swap trades through concentrated-liquidity pools (Uniswap v3 architecture) deployed on Arc. Quotes are computed on-chain against the live pool state — never from an off-chain price feed — so the number you see is the number the router will execute at, within your slippage tolerance.

How a swap executes

  1. 1

    Quote

    The app reads the pool across every fee tier (1%, 0.3%, 0.05%, 0.01%) and routes through the deepest one.

  2. 2

    Approve

    First trade of a token grants the router an allowance — one transaction, once per token.

  3. 3

    Swap

    The router executes against the pool. If the price moves beyond your slippage setting mid-flight, the transaction reverts rather than filling badly.

Slippage and price impact

Slippage tolerance is configurable per-trade (the gear icon). Price impact shown on the form is the difference between the mid-price and your effective execution price — on a thin pool a large order can move the price substantially; the form warns you before you sign.

Swap fees go to liquidity providers in the pool you traded through, not to the protocol. The fee tier is baked into each pool — see Fees.

Liquidity

Liquidity positions are concentrated ranges: instead of spreading your capital across every price from zero to infinity, you choose the band where it works. Inside the band your capital earns the pool's trading fees; outside it, the position sits idle in a single asset until price returns.

Opening a position

  1. 1

    Pick the pair and fee tier

    The form shows which tiers already have liquidity and which pools exist. Deeper tiers earn steadier fees; exotic tiers may earn more per trade.

  2. 2

    Choose a range

    Presets (±10%, ±25%, ±50%), full range, or custom bounds. Tighter ranges are more capital-efficient but fall out of range sooner.

  3. 3

    Deposit both tokens

    The form computes the exact token split your range needs at the current price and mints the position.

Managing positions

Each position is an NFT in your wallet. The Liquidity page reads them directly from chain: current value, in-range status, and uncollected fees per position. You can collect fees, add liquidity, or withdraw at any time — closed positions stay listed (toggle to hide) so history never silently disappears.

Concentrated liquidity carries impermanent loss: if price exits your range, you end up holding only the less valuable side. Ranges should reflect a view on where price will trade, not just a yield number.

Earn

Interface preview

Earn is BRC single-asset staking: stake BRC, accrue BRC from the emissions budget, claim whenever you like. Four options trade lock time against APR:

OptionLockAPRPool cap
01 — FlexibleNone, withdraw any time18%Uncapped
02 — Starter7 days35%10,000,000 BRC
03 — Builder30 days60%25,000,000 BRC
04 — Diamond90 days120%50,000,000 BRC

Rewards accrue per block — no epochs, no snapshots. Accrued rewards are claimable at any time; the staked principal unlocks when the option's lock ends (immediately, for Flexible).

The staking contract ships with the BRC token launch. Until then the Earn page is an interface preview: the numbers shown are illustrative and the stake action is disabled. Final APRs will be published with the contract.

Bridge

Awaiting Circle

The Bridge moves USDC between Ethereum, Base, Avalanche and Arc over Circle's own infrastructure, so what arrives is canonical USDC — not a wrapped claim on a third-party bridge. Two rails are offered:

Gateway — deposit once, draw instantly

Gateway holds your USDC in a shared Circle balance. You deposit on a source chain, then draw the balance onto Arc by signing an off-chain burn intent — free to sign, instant to settle. The deposited balance is reusable, so repeat transfers skip the deposit step. The Balance Lock card on the Bridge page shows your undrawn Gateway balance across all four chains.

CCTP — burn and mint, native

CCTP burns USDC on the source chain and mints it natively on Arc after Circle attests the burn. One transfer, one burn, no shared balance. Fast-finality attestation is used where available (~20 seconds on Base; minutes elsewhere).

The relayer

For both rails the final mint on Arc is submitted by the site's relayer, which pays the Arc gas — you never need Arc gas to receive funds. If the relayer is ever offline, a manual mint path exists on the Bridge page: your attestation is yours, and anyone can submit it.

Both lanes currently show OFF: Circle has not yet opened Arc's Gateway and CCTP lanes to the public. Approvals work today; transfers complete the moment Circle flips the switch — tracked live by the "CCTP lane" tile in the page header.

USDC Market

The USDC Market trades Arc USDC against Base USDC. On paper they are the same dollar; in practice Circle's canonical route out of Arc is whitelisted, so Arc USDC trades at a premium to Base USDC. The market gives that premium a public order book instead of an OTC chat.

This is not a bridge. No wrapped or synthetic token is ever created. Each side of a trade keeps its own chain's real USDC, and the market holds no inventory of its own.

What Wormhole is used for

Two chains cannot see each other. When you pay on Base, Arc has no way of knowing it happened. Wormhole solves that one problem: it is a network of 19 independent validators that watch chains and sign statements about what they saw. Your payment gets a signed proof, and that proof is what the Arc side accepts as evidence.

To be precise about what that does and does not mean:

  • Wormhole never holds your money. It carries a signed message, not funds.
  • Each proof is signed independently by at least 13 of the 19 validators. No single party can produce one.
  • A proof names its recipient, so a settled trade can only ever pay the address written inside it.

Buying Arc USDC

You pay in Base USDC and receive Arc USDC. You will not need Arc gas.

  1. 1

    Pick an order and enter an amount

    The panel shows the price, the platform fee and the total before you commit to anything.

  2. 2

    Sign in once

    Your wallet asks for a signature confirming the wallet is yours. It is free, costs no gas, and authorises no transaction. One signature covers the next 24 hours.

  3. 3

    Approve and pay

    Approve the USDC spend if you have not already, then sign the payment. That is the only transaction you sign.

  4. 4

    Wait about a minute

    The validators sign the proof and your Arc USDC arrives automatically. You can close the tab; the trade finishes on its own.

You may hold up to three unfinished orders at a time. Completing one frees a slot immediately.

Selling Arc USDC

Post your own offer at a rate you choose, and it appears in the book straight away. Or sell into an existing buy order at its posted rate, which commits your USDC for a limited window while the buyer pays; if they never do, you take it back yourself once the window closes.

Cancelling an offer takes one transaction, with no waiting period. The part nobody is currently buying returns to you immediately. A portion someone is actively paying for stays put until that purchase completes or their window closes. That is deliberate, and it is the same rule protecting you when you are the buyer.

What the statuses mean

StatusMeaning
Awaiting ArcPaid on Base, waiting for the signed proof. Normally under two minutes.
ReceivedYour Arc USDC has arrived.
CompletedA sale that has settled.
RejectedThe payment went through but its proof does not match the order it claims to pay for, so it can never settle. Not reachable through this interface.

Every row links to both transactions, on Base and on Arc, so you can verify any trade yourself on a block explorer.

Trades settle from Base to Arc, and that direction is fully proof backed. The reverse is not available, because too few validators watch Arc to reach the 13 signature threshold. That is why selling into a buy order relies on a refund window rather than a proof. Fees are charged on the Base side; see Fees.

Arc Tools

Two single-purpose utility contracts, both stateless and non-custodial: no owner, no admin functions, no balance held between transactions. Both accept the native gas USDC or any ERC-20 on Arc.

Disperse — one transaction, many wallets

Airdrops, payroll, rewards: send a token to up to 500 recipients per transaction. Longer lists split into batches automatically.

  1. 1

    Pick the token

    Gas · USDC (the native 18-decimal gas token) or Custom — paste any ERC-20 contract address and the symbol and decimals are read on-chain.

  2. 2

    Paste the list

    One recipient per line: address then amount, separated by a space, comma, or equals sign. Invalid lines are flagged with the reason and skipped — never silently dropped.

  3. 3

    Review and sign

    The preview shows every parsed recipient, the total, and the transaction count. ERC-20s need one approval covering all batches, then one transaction per 500 wallets.

All or nothing: if any single transfer in a batch fails, the whole batch reverts. A list is either paid in full or not at all. Amounts with more decimal places than the token supports are rejected at parse time, so what the preview shows is exactly what gets sent.

Token Lock — cliff or staged release

Lock tokens until a date — team allocations, LP proof, vesting. Two release shapes, chosen at creation and immutable afterwards:

  • All at once — nothing is claimable before the unlock date, everything is after it.
  • In equal stages — the amount splits into equal tranches, one unlocking per interval. Locking 100 BRC for 60 days with a 10-day interval makes 6 tranches of ~16.66 BRC. The duration must divide evenly by the interval.
  1. 1

    Pick token, amount, and recipient

    Lock for your own wallet or for another address — the recipient set at creation is the only address a claim can ever pay.

  2. 2

    Choose the schedule

    A preset or custom duration, then either a single unlock date or a release interval in days.

  3. 3

    Sign the lock

    Approve (ERC-20 only), then lock. From this moment nobody — including you — can shorten, cancel, or redirect it.

  4. 4

    Claim as it unlocks

    Each stage becomes claimable on schedule. Claims are cumulative: skipped stages accumulate and can be collected together in one transaction.

A lock is final by design. There is no admin key and no escape hatch — this is what makes a lock meaningful as public proof. Check the schedule twice before signing. The "All locks by contract" view on the page lists every lock publicly, searchable by token, so anyone can verify a project's claims on-chain.

Fees

ProductFeeGoes to
SwapPool fee tier: 0.01% / 0.05% / 0.3% / 1% per tradeLiquidity providers of that pool
LiquidityNone to open or close; gas only
Bridge — GatewayFlat per source: 0.01 USDC (Base), 0.02 USDC (Avalanche), 1.00 USDC (Ethereum)Relayer, covers the Arc mint gas
Bridge — CCTPNo protocol fee; per-transfer cap applies while lanes open
USDC Market2.5% of the Base-side payment, paid by the buyer of Arc USDCProtocol
Arc Tools — Disperse / Token LockNone; network gas only
EarnNone to stake or claim (preview)

Gas on Arc is paid in native USDC and is fractions of a cent. Bridged arrivals and market claims are relayed, so the receiving side pays no gas at all.

Contracts

Core contracts on Arc (chain id 5042). Always verify against this page before integrating — addresses are also linked from each product's UI.

ContractAddress
Pool factory0xf0db7b58379503491d857dB50AC9ece64c653918
Swap router0x53BF6B0684Ec7eF91e1387Da3D1a1769bC5A6F77
Position manager (LP NFTs)0x39654a85a4c05127f5fd6ed22caec077a0fb1377
USDC (ERC-20, 6 decimals)0x3600000000000000000000000000000000000000
BRC token0x11c87c506acf3ea0799f8717127fe55a184f8efd
Disperse (Arc Tools)0x4812be519E1DEB486De80c3624a2AeAAD8DAb8eF
Token Lock (Arc Tools)0x9291458686B25fD49C5B335b7Da0Ec7A7CA224ef

Circle's bridge contracts (identical address on every EVM chain):

ContractAddress
Gateway wallet (deposits)0x77777777Dcc4d5A8B6E418Fd04D8997ef11000eE
Gateway minter (arrivals)0x2222222d7164433c4C09B0b0D809a9b52C04C205
CCTP token messenger0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d
CCTP message transmitter0x81D40F21F12A8F0E3252Bccb954D722d4c464B64

USDC Market contract addresses (one on Arc, one on Base, bound as peers) are published on the market page itself, where they are read live.

Security

  • Non-custodial by constructionPools, positions, bridge balances and market escrows are held by contracts, not by us. No admin key on this site can move user funds, and on the Arc market the emergency recovery function refuses USDC outright.
  • Proof-based settlementCross-chain releases require a 13-of-19 Wormhole guardian quorum. The proof itself names the recipient, so no intermediary can redirect a payout.
  • Keys stay server-sideThe browser talks to Arc through a same-origin RPC proxy, so upstream API keys never reach the client.
  • Refunds are self-serveEvery escrow path has a timeout you can trigger yourself — no support ticket stands between you and your funds.
  • Open verificationEvery transaction the UI produces links to arc-scan.io or basescan.org. Verify, don't trust.
Brc Exchange is under active development on a network that is itself pre-public. Contracts may be upgraded, limits are deliberately conservative, and you should never commit funds you cannot afford to lock up while Arc access is gated. The rules that govern this interface are published in the Terms of Service, the Risk Disclosure and the Privacy Policy.
ArcRpccheckingBrc Exchangev2.01 LTS