Dashboard Guide
Using the Dashboard
A walk-through of the three dashboard tabs — Depositor, Agents, Claims — and the exact contract calls each one issues. The dashboard is a thin wagmi/viem wrapper over the deployed contracts.
Connecting
The dashboard at /dashboard requires a wallet on Arc Testnet (Chain ID 5042002). Use ConnectKit's wallet button in the top right; the app will prompt to switch networks if a different chain is active. Get testnet USDC from faucet.circle.com.
Depositor tab
For the wallet funding agents. Three actions:
- Deposit USDC — first call approves USDC to the
TrustGateaddress, second call invokesdeposit(amount)to credit your pooled balance. - Set agent allowance — calls
setAgentAllowance(agent, maxSpend). The cap applies per (depositor, agent) pair and can be raised or lowered at any time. - Withdraw USDC — pulls funds back from your pooled balance via
withdraw(amount). Allowances are not cleared automatically — they remain set against future deposits.
Agents tab
For agent owners — the wallet that controls (or speaks for) one or more agent addresses.
Register agent
Defaults to your connected wallet so most users register their own address as an agent. Override with any address; the call is permissionless. Preflight checks block obvious failures before they cost gas:
- Already registered — read from
AgentRegistry.getAgent(address). - Insufficient gas — read from native USDC balance. Below 0.01 USDC the submit button stays disabled.
- Revert decoding — any failure is mapped from the ABI's custom errors (
AgentAlreadyRegistered,ZeroAddress, etc.) to plain English in the UI.
Calculate Score
Each agent card has a Calculate Score button that runs the Arc onchain activity formula automatically. The flow is:
- Querying Arc RPC — the dashboard hits
/api/arc-score/[address], which fetches transaction count, USDC balance, contract interactions, and deployments server-side. - Awaiting wallet — the computed score is submitted onchain via
TrustScoring.setTrustScore(). - Confirming on Arc — the breakdown panel renders as soon as the score is computed; tier and badge update once the tx confirms.
The breakdown panel shows every line item — transaction points, USDC balance points, contract interaction points, deployment bonus — plus the cap status. See Trust Scoring for the formula behind each row.
Claim Payment (agent view)
When the connected wallet is an active agent, the same tab shows a Claim Payment form. Enter the depositor address and amount; the dashboard calls TrustGate.claim(). The routing detail (instant / time-locked / escrowed) is derived from the agent's tier and is not user-selectable.
Claims tab
A list of every claim involving the connected wallet, on either side. Status comes directly from TrustGate.getClaim(claimId).
- Pending — MEDIUM tier claim awaiting its 24-hour window. Shows a countdown to
releaseTime. The agent presses Release after expiry to finalise. - Escrowed — LOW tier claim awaiting depositor approval. The depositor sees an Approve button; the agent waits.
- Released — terminal state. USDC has moved to the agent.
- Cancelled — depositor pulled back funds before release.
The depositor can call cancel(claimId) on any Pending or Escrowed claim, returning the USDC to their pooled balance.
What the dashboard does not do
- It does not custody funds — every action is a direct contract call from your wallet.
- It does not run a trust algorithm offchain — the Arc RPC reads happen server-side only to dodge browser CORS, and the resulting score is written onchain through your signature.
- It does not keep a session — all state is read live from the chain on every render.