Platform
SDKs and Admin API
The SDKs are convenience. Every feature is reachable over plain JSON-RPC and REST, and nothing here is required.
Packages
| Package | Install | Adds |
|---|---|---|
| arcrpc-js | npm i arcrpc-js | Wraps viem or ethers. USDC helpers, proofs, pre-flight, stream consumer. |
| arcrpc-py | pip install arcrpc | web3.py middleware, async transfer feed, proof verifier. |
| arcrpc-go | go get arcrpc.com/sdk | go-ethereum client wrapper and stream consumer. |
| @arcrpc/verify | npx @arcrpc/verify | Offline settlement proof verification, no network access. |
Usage
import { createPublicClient, http } from 'viem'
import { arc } from 'viem/chains'
import { arcrpc } from 'arcrpc-js'
const client = createPublicClient({
chain: arc,
transport: http('https://rpc.arcrpc.com/v1/' + KEY),
})
const arcx = arcrpc(client)
await arcx.usdcBalance('0xa1b2…') // 18 / 6 / display
await arcx.settlementProof(txHash) // cached certificate
await arcx.simulateTransfer({ from, to, value })
for await (const t of arcx.usdcTransfers({ address })) {
// one event per movement, deduped, final
}Admin API
Provision, scope, rotate and retire endpoints programmatically. Useful when every customer, tenant or agent needs its own key with its own throughput and allowlist, which is the usual shape once a platform resells access to its own users.
POST https://admin.arcrpc.com/v1/endpoints
{
"label": "tenant-8841",
"network": "mainnet",
"methods": ["eth_*", "arcrpc_getUsdcBalance"],
"rps": 50,
"allowlist": ["203.0.113.0/24"],
"residency": "eu-only"
}Keys created this way inherit the parent account billing and appear in the same usage breakdown, attributed by label.