Interactive walkthrough

One agent, start to finish.

Register an agent, post its bond, earn a score, prove who it is to a counterparty, and see what slashing costs. The keys and signatures are real Ed25519. The chain is simulated with the protocol's actual rules, so every window and every number is the one the contracts enforce.

Rules Arc testnet parameters · chain ID 5042002 Bond a testnet faucet ERC-20 that carries the SVR name and symbol but is not the token — anyone can mint it, it is worth nothing · mainnet SVR not launched, its address will appear on this site first Mode browser simulation, no wallet, nothing leaves this page Live testnet app →
01 / REGISTER

Give the agent an identity

Ready

The operator registers an agent address and binds it to an Ed25519 key. The contract derives the DID from the chain ID and the address, so anyone can recompute it. The score starts at zero; the community baseline lifts it to 5 on the first epoch.

A bond is what makes the reputation cost something. The operator approves the staking contract, then deposits. Any amount is accepted, but the agent only counts as bonded at or above minimumStake. While the agent is Active, a withdrawal must leave at least minimumStake behind; a full exit means suspending the agent first. Whatever is queued waits 21 days and stays slashable the whole time.

Every epoch the oracle computes six factors from on-chain activity and counterparty attestations, then proposes the score. A 6-hour challenge window lets the committee reject a bad proposal; after that, anyone can finalize it. Move the inputs and run an epoch.

A product about to route a task issues a challenge naming the agent's DID. The agent signs it with its Ed25519 key. The verifier fetches the public key from the identity registry and checks the signature and freshness. Status and score are separate reads it combines into its own decision, so a valid signature from a suspended agent still gets refused. No trust in the operator is needed at any point.

A counterparty reports harm and a committee member files the slash, naming the victim. The agent is suspended immediately and a 7-day challenge window opens. If nobody disputes, once the window closes anyone can execute it. If the operator does dispute, the bond stays frozen and the proposal goes to the committee to rule on: upholding it slashes, rejecting it reinstates the agent. A dispute the committee never resolves can be expired by anyone after 14 days, so neither side can stall forever. On a slash, half the bond burns and the victim and reporter quarters are credited for them to claim. Queued withdrawals are swept too. Status becomes Slashed, which is terminal, and the score is zeroed.

This is the query any product runs before trusting an action: is the agent active, what is its score, does it clear my bar. A slashed DID can never be reactivated. The operator has to register a new agent and earn everything again, which is exactly why the score means something.

minimumStake
1,000 SVR
Deploy.s.sol default, admin-tunable
challengePeriod
7 days
slash dispute window
scoreChallengeWindow
6 hours
committee may reject a proposal
unbondingPeriod
21 days
queued withdrawals stay slashable
slash split
50 / 25 / 25
burn / victim / reporter
score
30+25+20+15+5+5
six factor maxima, total 100