Arc Data: Index USDC Payments, Contracts, and Tokens
Index Arc's contract events, USDC and token transfers, and decoded transactions in one pipeline, delivered to your own database. Real-time and complete historical data, no node to run.
Arc is Circle's open Layer 1 blockchain, purpose-built to unite programmable money and onchain innovation with real-world economic activity. It is EVM-compatible, uses USDC as its native gas token, and offers deterministic sub-second finality, with opt-in privacy on its roadmap. After a public testnet and a private mainnet phase, Arc's public mainnet is now live. You can read how the team frames it at arc.io.
That focus on stablecoins and payments is the data problem. On Arc, fees, transfers, and settlement all move in USDC, so the questions teams ask are about money flows: who paid whom, how much, and through which contracts. Indexing Co covers Arc in a single pipeline, decodes the raw chain into the shape you want, and delivers it to your own PostgreSQL, warehouse, or webhook. Real-time and full history, with no node to operate.
Why Arc data is hard
What Indexing Co delivers for Arc
Stand up and maintain the whole stack yourself.
- Run an Arc node or wire up a third-party RPC.
- Fetch and decode logs and receipts against the right ABIs.
- Keep pace with sub-second blocks without dropping data.
- Build backfill and real-time delivery from scratch.
One pipeline sources, decodes, and delivers Arc to your store.
- Arc contract events, USDC and token transfers, and decoded txs in a single pipeline.
- Decoded data, shaped by your JavaScript transform.
- Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
- Real-time delivery plus complete backfilled history. No node, no RPC babysitting.
What you can index
| EVM data type | On Arc, for example |
|---|---|
| Token transfers (ERC-20) | USDC payments and other stablecoin transfers |
| Contract events and logs | Swaps, lending, and settlement events from Arc apps |
| Decoded transactions | Payment and contract calls with sender, target, and fee |
| Protocol and account state | Balances and positions derived from decoded events |
A transform, not a subgraph
You write the transform in JavaScript, not AssemblyScript, and change it without re-indexing from block zero. Indexing Co runs your function over each block server-side: decode the logs you care about and return rows for your destination.
// Indexing Co transform: reshape each block into rows for your database
function transform(block) {
const results = [];
const signatures = [
'event Transfer(address indexed from, address indexed to, uint256 value)'
];
for (const tx of block.transactions || []) {
for (const log of tx.receipt?.logs || []) {
const event = utils.evmDecodeLogWithMetadata(log, signatures);
if (!event) continue;
results.push({
chain: block._network,
block: Number(block.number),
tx_hash: tx.hash,
contract_address: log.address?.toLowerCase(),
from: event.decoded.from,
to: event.decoded.to,
value: event.decoded.value,
});
}
}
return results;
}
Arc with Indexing Co
You want full control of node infrastructure and have the team to operate an Arc node, decode every contract's ABIs, and build backfill and real-time delivery in-house.
You want Arc USDC payments, contract events, and decoded transactions delivered to your own database, with real-time plus complete history and no infrastructure to run.
Related Reading
- Payments Data Infrastructure
- Fintech Data Infrastructure
- DeFi Data Infrastructure
- Indexing Co vs Subgraphs
FAQ
Do I need to run an Arc node?
No. Indexing Co sources Arc blocks, logs, and receipts for you, including full historical data, so you never operate a node or babysit an RPC endpoint.
Can I index USDC payments on Arc?
Yes. Native USDC on Arc has 18 decimals, and native transfers emit an EIP-7708 Transfer log from a system address. The USDC ERC-20 interface shares the same balance at 6 decimals and emits its own Transfer events. The transform above decodes Transfer events into rows with sender, recipient, and value; filter on the emitting address and normalize decimals so the same movement is not counted twice.
Can I index any contract on Arc?
Yes. Point a pipeline at any Arc contract or set of contracts, including your own deployments, and decode the events against the right ABI.
Where does the Arc data go?
Into your own destination: PostgreSQL, BigQuery, a warehouse, or a webhook. You define the output schema and own the storage.
Can I get complete historical Arc data?
Yes. We backfill from your chosen start block and merge it with real-time data, so your Arc dataset is gap-free from your start block forward.
Get Started
Index Arc in minutes. Set up your first Arc USDC or contract pipeline without running a node.