Skip to main content

Arc Testnet API: Circle's Stablecoin L1 via GraphQL, WebSocket and Kafka

Arc is Circle's EVM-compatible Layer 1 built for stablecoin finance: USDC is the native gas token, blocks finalize in well under a second on the Malachite BFT consensus, and the chain carries USDC, EURC and a growing set of DeFi deployments led by Uniswap v4. Bitquery indexes the Arc testnet as EVM(network: arc_testnet) and publishes it as Kafka topics under arc-testnet.*, so you can build and test against the chain before mainnet with the same queries you already use on Ethereum, Base or Robinhood Chain.

This page is the map. Use it to pick the cube that answers your question, then jump to the linked guide.

API Key Required

To query or stream data outside the Bitquery IDE, you need an API access token.

Follow the steps here: How to generate Bitquery API token ➤


Arc testnet at a glance

PropertyValue
Bitquery network namearc_testnet in EVM(network: arc_testnet)
Kafka topic prefixarc-testnet.
Chain ID5042002
StackEVM, Circle Arc Layer 1, Malachite BFT consensus
Gas tokenUSDC, tracked as Currency.Native: true
USDC (ERC-20 interface, 6 decimals)0x3600000000000000000000000000000000000000
EURC (6 decimals)0x89b50855aa3be2f677cd6303cec089b5f319d72a
Uniswap v4 PoolManager0x1d70945634f618eefdf9edaadb59b9a183cef929
Public explorertestnet.arcscan.app. Bitquery is an indexed data API, not an explorer or an RPC node
GraphQL endpointhttps://streaming.bitquery.io/graphql for queries and subscriptions

What is different on a testnet

Arc testnet is indexed with the same EVM schema as every other chain, with four differences you should know before writing queries.

DifferenceWhat it means for your query
USD values are 0Every ...InUSD field (AmountInUSD, PriceInUSD, ValueInUSD, CostInUSD) returns 0. There is no token price index on a testnet. Native prices such as Trade.Price work, and since most pairs quote in USDC they are effectively dollar prices.
Realtime dataset onlyThere is no archive for the testnet. Leave the dataset argument out; archive and combined return errors. The realtime window is a rolling range of recent blocks; measure it with Block { Time(minimum: Block_Time) }.
No Trading cubesTrading.Trades, Tokens and Pairs cover mainnet chains with USD pricing. Use the chain-level DEXTrades and DEXTradeByTokens cubes.
Some cubes are unavailableHolders needs the archive and is not served. DEXPoolEvents and DEXPoolSlippages have no data yet. Balances, BalanceUpdates and TransactionBalances work.

Arc mainnet will be indexed with USD pricing from the token price index and an archive dataset.


Quick start: stream every swap on Arc testnet

Paste this into the Bitquery IDE to watch the network trade in real time. Uniswap v4 carries most of the volume, with v3, v2, Curve and Aerodrome deployments behind it.

▶️ Run in IDE

subscription {
EVM(network: arc_testnet) {
DEXTrades {
Block {
Number
Time
}
Transaction {
Hash
From
}
Trade {
Dex {
ProtocolFamily
ProtocolName
SmartContract
}
Buy {
Amount
Buyer
Seller
Price
Currency {
Name
Symbol
SmartContract
}
}
Sell {
Amount
Buyer
Seller
Price
Currency {
Name
Symbol
SmartContract
}
}
}
}
}
}

Change subscription to query, add limit: {count: 10} and orderBy: {descending: Block_Time}, and the same selection set returns the latest trades instead. OHLCV candles, token prices, top tokens and trader activity are on the Arc Testnet DEX Trades API page.


Pick the right API

What you wantUse thisGuide
Live swaps, OHLCV, token prices, top tokens, DEX breakdown, trader activityDEXTrades, DEXTradeByTokensArc Testnet DEX Trades API
Who sent what to whom, wallet ledgers, large transfers, most-transferred tokensTransfersArc Testnet Transfers API
Any decoded contract event, new Uniswap v4/v3/v2 pools, an eth_getLogs replacementEventsArc Testnet Events API
Method calls, internal traces, contract deployments, revertsCallsArc Testnet Calls & Traces API
Transactions, receipts, blocks, USDC gas feesTransactions, BlocksArc Testnet Transactions, Blocks & Fees API
A wallet's portfolio, balance history, active holders, token total supplyBalances, BalanceUpdates, TransactionBalancesArc Testnet Balances & Token Supply API

USDC on Arc: native and ERC-20

USDC is both the gas token and an ERC-20 on Arc, and Bitquery tracks the two as separate currencies.

FormHow it appearsDecimals
Native USDCCurrency.Native: true with SmartContract: "0x" in Transfers and Balances; the zero address with name USD Coin in DEXTrades and DEXTradeByTokens18
ERC-20 USDCSmartContract: "0x3600000000000000000000000000000000000000", symbol USDC6
System ledger0xfffffffffffffffffffffffffffffffffffffffe, no symbol, raw 18-decimal integers mirroring native movements0

Filter on Native: true for gas-token value transfers and on the 0x3600... contract for the ERC-20 interface. Exclude the system ledger from token rankings. Transaction fees are in native USDC, so Fee.SenderFee on the Transactions API is already a dollar figure.


DEXes on Arc testnet

ProtocolDex.ProtocolNameNotes
Uniswap v4uniswap_v4Most swaps on the testnet. Pools live in the PoolManager singleton, so Dex.SmartContract is 0x1d70945634f618eefdf9edaadb59b9a183cef929 and new pools are Initialize events.
Uniswap v3uniswap_v3Several factory deployments; Dex.SmartContract is the pool.
Uniswap v2uniswap_v2Several factory deployments; Dex.SmartContract is the pair.
Curvecurve_v1Stablecoin pools.
Aerodromeaerodrome_v1Light activity.

The DEX Trades API has a live breakdown by protocol, and the Events API streams new pools as they are created.


Real-time streams: WebSocket and Kafka

  • WebSocket. Every query on every page above runs as a subscription: swap query for subscription and keep the same selection set. See WebSocket subscriptions and authorizing a WebSocket connection.
  • Kafka. For firehose-scale workloads, Arc testnet is published as protobuf topics under the arc-testnet. prefix: arc-testnet.transactions.proto (transactions, calls, events), arc-testnet.tokens.proto (transfers, balances), arc-testnet.dextrades.proto (DEX trades) and arc-testnet.raw.proto (raw blocks). The message schemas are the same as every other EVM chain; USD fields in the messages are 0 on the testnet. See Kafka streaming concepts and the EVM protobuf streams.

Datasets and history

Only the realtime dataset exists for Arc testnet. It holds a rolling window of recent blocks, and its depth is not fixed, so measure it before relying on a time range:

{
EVM(network: arc_testnet) {
Blocks {
count
earliest: Block {
Time(minimum: Block_Time)
}
latest: Block {
Time(maximum: Block_Time)
}
}
}
}

dataset: archive and dataset: combined return errors on the testnet. The archive dataset, and with it the Holders cube and long time ranges, will be available for Arc mainnet.


FAQ

What is Arc and what is its chain ID?

Arc is Circle's EVM-compatible Layer 1 for stablecoin finance, with USDC as the native gas token and sub-second finality on the Malachite BFT consensus. The testnet chain ID is 5042002. In Bitquery it is EVM(network: arc_testnet). Solidity ABIs, topic0 hashes and 4-byte selectors work exactly as they do on Ethereum.

Why are all USD values zero?

There is no token price index for a testnet, so every ...InUSD field is 0. Native prices such as Trade.Price are correct, and because most pairs quote in USDC they are effectively dollar prices. Arc mainnet will carry USD values from the price index.

How far back does Arc testnet data go?

Only the realtime dataset exists, holding a rolling window of recent blocks. There is no archive for the testnet, so dataset: archive and dataset: combined return errors. Measure the window with the dataset probe before assuming a range.

Can I use the Trading cubes or the Holders cube on Arc testnet?

No. The Trading cubes cover mainnet chains with USD pricing, and Holders is served from the archive dataset. Use DEXTrades and DEXTradeByTokens for trades, and BalanceUpdates summed per address for holder rankings.

Are there Kafka topics for Arc testnet?

Yes. Topics are published under the arc-testnet. prefix (transactions, tokens, dextrades and raw) with the same protobuf schema as other EVM chains. USD fields in the messages are 0 on the testnet. See the streams section.

Does Bitquery provide an Arc RPC endpoint, faucet or block explorer?

No. Bitquery is an indexed data API. Circle's testnet explorer is testnet.arcscan.app and test USDC comes from Circle's faucet. Every explorer lookup has an API equivalent here that can be queried in bulk and streamed: address history (Transfers, Balances), transaction receipts (Transactions), contract logs (Events) and internal traces (Calls).

Build with Bitquery

Ready to run this in production?

Get an API key and run these queries in minutes, or talk to us about plans and enterprise delivery.