Integrate
AgentKarma scores every wallet with a public on-chain footprint and exposes the answer over a read-only SDK. No routing, no custody, no rev share on your payments. This page is the honest map of what ships today and what lands next.
Real numbers, indexed continuously, queried over a public API.
116k
Agents indexed
Solana mainnet
500k
x402 receipts
Tier-1 signal
2
Live chains
Solana · Celo
v0.1
SDK shipped
@agentkarma/sdk
Two-faced karma
Every wallet carries provider and consumer scores. A marketplace gates one, a lender gates the other, neither collapses to a single number.
Confidence badges
Every score ships a badge — receipt-backed, behavior-inferred, or declared. Score without provenance is not a score.
ERC-8004 attestations
On Solana mainnet via the 8004-solana program, on Celo mainnet at agent #9058. The score is the attestation, on-chain, portable.
MCP server
get_celo_agentover streamable HTTP. An agent can read another agent's reputation without going through your code.
Nobody else surfaces this. Most reputation systems answer 'is this trustworthy'. AgentKarma also answers 'is this actually an agent', and lets you gate on either.
A wallet's autonomy gets labelled agent-like, mixed, human-like, or null. The label comes from cadence, off-hour activity, manifest signals, and self-verification via Self protocol on Celo. It rides the API as autonomy.label, and the SDK lets you reject specific labels in one line.
Why it matters: a lending desk that wants to underwrite an agent and a marketplace that wants to keep humans out of an automated lane have opposite needs from the same number. Autonomy gives both.
API field
autonomy: {
label: 'agent-like',
score: 0.82,
evidence: [...]
}
Returned on every wallet that crosses the evidence floor. Null otherwise, never guessed.
One pure function, eight typed knobs, no network on the policy step. Add it to any agent flow in ten minutes.
import { createAgentKarmaClient, evaluateTrust } from '@agentkarma/sdk';
const ak = createAgentKarmaClient();
const snap = await ak.getKarma(agentWallet);
const decision = evaluateTrust(snap, {
face: 'provider',
minScore: 60,
requireReceiptBacked: true,
rejectAutonomyLabels: ['agent-like'], // gate human-only paths
});
if (!decision.allowed) {
console.warn('rejected:', decision.reasons);
return;
}
// proceed with your own service call. AgentKarma never proxies it.The SDK is zero-runtime-dependency, framework-agnostic (Node, Bun, Deno, browser, edge), and never signs or proxies anything. Pull the snapshot, evaluate locally, decide locally.
What ships in v0.1
Partners that attest to agents over AgentKarma's voluntary endpoint ride on every profile we index. Validator becomes co-marketing surface.
For partners
Sign attestations through the AK validator endpoint and your brand appears as the source of truth on every agent profile we render. Karma score, partner logo, partner attestation count, all in one row. The partner is the source of weight, AK is the rail.
Status
API live · SDK pendingThe attestation endpoint is reachable today over the API and is specced in RFC v0.3. A typed SDK helper that wraps it (submitAttestation) is the next thing to ship in @agentkarma/sdk.
If you want to validate now and don't mind hand-rolling the POST, email partners@ and we'll wire it up the same week.
Honest list. Pills mark anything not shipped. These are the three pieces partners ask for most; they're queued.
Trust Receipts
PlannedCryptographically-signed audit logs partners store when they routed money to an agent. Proof of diligence at dispute time. The receipt carries the snapshot AK returned, the policy you evaluated, and the signature.
Target
Q3 2026
Risk-band pricing inputs
PlannedevaluateTrust extends from { allowed, reasons } to { band, recommendedFeeMultiplier, recommendedRateLimit }. Reputation becomes a pricing primitive for lending desks, x402 facilitators, and marketplaces.
Target
v0.2 — Q3 2026
Webhooks + alerts
PlannedSubscribe to karma drops below a threshold, tier changes, confidence downgrades. Turns a one-time integration into an ops loop. Sketches in the RFC; infra not built.
Target
Q4 2026
Roadmap usage · pricing
// Planned shape for evaluateTrust v0.2 (not shipped yet)
const decision = evaluateTrust(snap, { face: 'provider' });
decision.band; // 'high' | 'medium' | 'low' | 'unknown'
decision.recommendedFeeMultiplier; // e.g. 1.0 for high, 1.4 for low
decision.recommendedRateLimit; // e.g. { rpm: 60 } for low-band
// Boolean gate still works; risk bands are additive.Shape is provisional until v0.2 lands. Show this to your team to scope the change; don't ship against it yet.
Try it against a wallet you already know.
Install the SDK, point it at an agent you operate or one of your counterparties. If the answer surprises you, that's the signal.