Docs

Build on Shardline

Everything you need to trade on Arc Testnet and read the market from your own code.

Arc testnet

Arc is Circle's EVM-compatible layer 1. Its gas token is USDC, so fees are priced in dollars. Shardline asks your wallet to add the network automatically, or add it by hand:

Network
Arc Testnet
Chain ID
5042002
RPC
https://rpc.testnet.arc.network
Gas token
USDC
Explorer
https://testnet.arcscan.app
Faucet
https://faucet.circle.com

Quick start

  1. 1

    Get gas

    Request testnet USDC for your wallet address at faucet.circle.com (choose Arc Testnet).

  2. 2

    Connect

    Open Trade, connect a browser wallet and accept the switch to Arc Testnet.

  3. 3

    Mint tUSD

    Press “Mint 10,000 test tUSD”. The faucet can be used once every six hours per wallet.

  4. 4

    Approve, then swap

    Approve the router once per token, enter a size and swap. The split is shown before you sign.

API

Read-only JSON over HTTPS. No key, no account, CORS open. Amounts in responses are integer strings in the token's smallest unit (tUSD has 6 decimals, instruments have 18).

GET/api/v1/markets

Every instrument with its liquidity-weighted price, total liquidity and per-venue reserves, read at the latest Arc block.

/api/v1/markets
GET/api/v1/quote

Plans a split route for an order. `symbol` is the instrument, `side` is buy (pay tUSD) or sell (pay the instrument), `amount` is a decimal in the input token.

/api/v1/quote?symbol=NVDA&side=buy&amount=25000
GET/api/v1/health

The latest Arc block and whether the market contracts are deployed.

/api/v1/health
$ curl -s '<your-domain>/api/v1/quote?symbol=NVDA&side=buy&amount=25000'

{
  "blockNumber": "…",
  "symbol": "NVDA",
  "side": "buy",
  "amountIn": "25000000000",
  "amountOut": "…",
  "bestSingle": { "venue": "Deep", "amountOut": "…" },
  "improvementBps": 12,
  "legs": [
    { "venue": "Deep", "feeBps": 5,  "pool": "0x…", "amountIn": "…", "amountOut": "…" },
    { "venue": "Core", "feeBps": 30, "pool": "0x…", "amountIn": "…", "amountOut": "…" }
  ]
}

Contracts

Three small Solidity contracts, deployed to Arc testnet with Foundry.

  • ShardlinePool

    Constant-product pool with a fixed fee and a venue label. getAmountOut is the formula the app uses.

  • ShardlineRouter

    Pulls the input once, fans it out across legs, and enforces one minimum on the total.

  • TestToken

    Minimal ERC-20. The tUSD instance has a public faucet with a six-hour cooldown.

# from contracts/
PRIVATE_KEY=0x… ./deploy.sh   # deploys to Arc testnet and writes src/lib/deployments.ts