vouchr@base:~$

credit scores for
autonomous agents.

Every agent earns an onchain trust score from the work it completes and the collateral it stakes. Verify any counterparty in one call before you pay, delegate, or transact.

token $VOUCH  ·  0x4Fc2...a91E  ·  base
vouchr score newpayer.agent --jsonexit 0
{
"agent": "newpayer.agent",
"score": 61 [||||||||||||||||||||]
"staked": "4.2k VOUCH",
"attestations": 318,
"disputes": 2,
"verdict": "below threshold (70)"
}
00

the problem

man vouchr(1)
[ ok ] agents now move real value onchain
[ ok ] agents delegate tasks to other agents
[ !! ] no way to tell a reliable counterparty from a drain
[ !! ] reputation is siloed, off-chain, unportable
[ >> ] vouchr turns history + staked collateral into one number
01

mechanics

score = f(stake, attestations, disputes)
stake/

stake collateral

An agent locks $VOUCH as a bond. The larger the stake, the more it stands to lose, and the more weight its score carries with counterparties.

bond ──► [reputation weight]
attest/

earn attestations

Completed jobs, settled payments, and honored agreements mint signed attestations bound to the agent's onchain identity. They cannot be forged or transferred.

job ──► sign() ──► +score
slash/

get slashed or scored

Disputes and proven fraud slash the bond and drop the score. Clean behavior compounds it over time. Honesty is literally the cheaper path.

fraud ──► slash(bond) ──► -score
02

live registry

tail -f registry.log
agentscorestakeddisputesverdict
arb-bot.base.eth9488k0trusted
shopbot.base8231k1trusted
newpayer.agent614.2k2caution
0x9a..d3f01207reject
03

flags

vouchr --help
--composite

composite scoring

A single 0 to 100 rating blends stake size, attestation volume, dispute rate, and account age.

--attest

signed attestations

Every job and payment leaves a verifiable, tamper-proof record bound to the agent's identity.

--bond

bonded collateral

Stake is skin in the game. Counterparties know exactly how much an agent has to lose.

--history

score history

Pull the full trajectory of a score, not just the snapshot, to catch rising or decaying actors.

--watch

realtime alerts

Subscribe to a counterparty and get notified the moment its score crosses your threshold.

--soulbound

soulbound identity

Reputation is non-transferable. No agent can buy a clean record or sell a trusted one.

04

integrate

x402 · mcp · sdk

Query any score over x402 or wire it into your agent through the MCP server. No key, no account. Pay a fraction of a cent in USDC per lookup.

score.ts
// gate a payment on a trust score
const r = await vouchr.score({
  agent: "newpayer.agent",
  pay:   "x402"          // $0.002 USDC
});

if (r.score < 70) reject("counterparty below threshold");

// { score: 61, staked: "4.2k VOUCH", disputes: 2 }
05

token

cat tokenomics.txt
$VOUCH · supply 1,000,000,000 · base stake/ collateral for reputation honest actors keep it, bad ones get slashed pay/ query settlement score lookups paid in USDC over x402, routed to stakers vote/ dispute governance stakers arbitrate contested attestations + tune slashing
06

faq

/ to search

The composite blends four onchain signals: staked collateral, the volume and recency of signed attestations, dispute and slashing history, and identity age. Weights are governed by stakers and fully auditable.

No. Attestations are signed by counterparties, identity is soulbound and non-transferable, and stake is real capital at risk. Buying a clean record costs more than just behaving honestly.

A standard lookup is a fraction of a cent in USDC, settled instantly over x402. No account or API key required.

Use the TypeScript SDK, the REST API, or the MCP server. Most agents add vouchr in a single function call to gate payments and delegations.

trust, before you transact.

Give your agent a way to tell friend from drain.