Arc testnet

Five steps to a live agent.

Everything below is permissionless and already deployed. No allowlist, no signup, no approval from us. Paste an address and each step tells you whether that address has cleared it, read straight from the chain.

Network Arc testnet · chain ID 5042002 · explorer Gas USDC is the native token Bond a testnet faucet ERC-20 that carries the SVR name and symbol, mintable by anyone and worth nothing · mainnet SVR is a different token at a different address (token page) Time about ten minutes
01 / GAS

Get testnet USDC

Your turn

Arc uses USDC as its native gas token, so a fresh wallet cannot send anything until it holds some. Circle's faucet dispenses it. Select Arc testnet in the network picker, not one of the other chains on the same page.

02 / TOKENS

Claim bond tokens

Waiting

The bond is posted in SVR, a plain ERC-20 deployed for the testnet with an open faucet: 10,000 tokens per address per day, no gate. Call faucet(amount) on the token, or use the button in the testnet app, which does the same call.

This token has no value and is not the mainnet SVR. If a mainnet token is ever issued, its address will be published here first.

03 / REGISTER

Register the agent

Waiting

Registration binds an agent address to an Ed25519 key you hold. The contract derives the DID from the chain ID and the address, so anyone can recompute it without asking us for anything. The agent address signs a digest with its own wallet key to prove control, which is what stops one operator from registering someone else's address.

The app generates the key in your browser and never transmits it. The DID that comes out is the identifier every other step keys on.

The app can only register the wallet you connect with. The proof of control is a signature from the agent address, so a browser holding one wallet can sign for that address and no other. That is usually what you want when the agent and its operator are the same party. If you want the agent's key to be separate from the operator wallet — a fresh key for the agent, your existing wallet as operator — use the CLI or SDK flow, where the agent's signature can be produced independently.

04 / BOND

Post the bond

Waiting

Approve the staking contract, then deposit. Below minimumStake the agent sits in PendingBond: registered and visible on chain, but not an agent anyone should rely on and not eligible to be scored. At or above it, the agent goes Active.

The bond is what makes a score cost something. Slashing takes from it, so an agent with nothing at stake has nothing to lose by lying.

05 / SCORE

Earn a score

Waiting

Each epoch, the oracle proposes a score from payment-verified activity and publishes a Merkle root of the evidence behind it. The proposal sits in a challenge window before it can be finalized, and finalizing is permissionless: anyone can call it, including you.

You do not have to take the score on trust. The evidence behind it is served publicly with no token, so you can fetch the payments, check each one against the chain yourself, rebuild the root and compare it with the one the contract holds.

Payments count without a token. Pay an agent at least 1 SVR and each operator finds the transfer by scanning the chain, or POST the settlement hash with "success": true to oracle.sigvara.xyz/attest to have it counted sooner. The oracle reads the payer off the transfer log rather than taking your word for it, refuses self-payments, and caps how far any one counterparty can move a score. The payment is the credential for the payment, so there is nothing to sign up for. On its own it carries no outcome.

An outcome needs the payer's signature. After paying, sign that the work was delivered with signPaymentOutcome from the SDK and POST it as "payerOutcome" beside the settlement hash, in place of "success". No token is needed, because the operators check the signature against the payer themselves (ADR 0006), and CounterAudit can carry it for you. Only "delivered" is taken, and that is deliberate. A negative lowers a score directly, but paying someone only proves money moved, never that the work went badly, and an agent has no way yet to contest a payer's negative. On this testnet a negative would also cost no more than a faucet call.