← Back to blog
ERC-8004Trust ScoreDeveloper Guide

How to Verify an AI Agent Wallet Before Transacting

Before an AI agent touches your funds, or before you accept a payment from one, you need to know whether that wallet has a track record worth trusting. Here is how to check it using on-chain data.

2026-03-04·6 min read·By Rushikesh More

The problem with trusting AI agent wallets

Autonomous AI agents are increasingly operating with their own wallets, paying for APIs via the x402 protocol, receiving payments for services, and interacting with smart contracts without human approval on every step.

That creates a real question: how do you know if an agent wallet is legitimate? A wallet address alone tells you nothing. You need its history.

Two standards now provide the raw material for answering that question:

  • ERC-8004: An Ethereum standard (live on mainnet since January 29, 2026) that gives AI agents a verifiable on-chain identity and a reputation registry where feedback from real transactions is recorded.
  • x402: Coinbase's HTTP payment protocol that lets AI agents pay for services using stablecoins inside a normal API request. Every payment creates an on-chain transaction trail.

AgentKarma indexes both and turns them into a single trust score (0–100) for any wallet address on Ethereum and Base.

What signals make up a trust score

AgentKarma computes scores from 7 on-chain signals, each weighted by how well it predicts trustworthy behavior:

SignalWeightWhat it measures
Loyalty30%Repeated interactions with the same counterparties
Activity18%Volume of on-chain transactions over time
Diversity16%Breadth of unique counterparties transacted with
Feedback15%Reputation entries submitted in the ERC-8004 Reputation Registry
Volume10%Total value of transactions processed
Recency6%How recently the wallet was last active
Age5%How long the wallet has been active on-chain

Wallets registered in the ERC-8004 Identity Registry receive a +5 bonus, rewarding wallets that have committed to the standard.

Checking a wallet via the REST API

The simplest integration is a single API call before any transaction:

# Get the trust score for any wallet address
curl https://agent-karma.rushikeshmore271.workers.dev/wallet/0xYourAgentWallet

# Response
{
  "address": "0x...",
  "trust_score": 74,
  "tier": "MEDIUM",
  "score_breakdown": {
    "loyalty": 68,
    "activity": 80,
    "diversity": 72,
    "feedback": 60,
    "volume": 55,
    "recency": 90,
    "age": 45
  }
}

Tiers: HIGH (80–100), MEDIUM (50–79), LOW (20–49), MINIMAL (0–19).

Using the TypeScript SDK

For TypeScript projects, install the SDK and check trust in one line:

npm install agentkarma
import { AgentKarma } from 'agentkarma'

const client = new AgentKarma()

// Check before transacting
const agentWallet = '0x...'

if (await client.isHighTrust(agentWallet)) {
  // Proceed with the transaction
} else {
  const score = await client.getScore(agentWallet)
  console.log(`Score: ${score.trust_score} (${score.tier})`)
  // Decide whether to proceed based on your threshold
}

// Or set your own threshold (e.g. 60+)
const trusted = await client.meetsThreshold(agentWallet, 60)

Using the MCP server (for AI agents)

If you are building an AI agent that needs to verify other agents, AgentKarma ships a Model Context Protocol (MCP) server with 6 tools. Add it to your Claude or Cursor config:

{
  "mcpServers": {
    "agentkarma": {
      "command": "npx",
      "args": ["-y", "agentkarma", "mcp"]
    }
  }
}

Your agent can then call get_trust_score or batch_trust_scores to check multiple wallets before interacting.

What a trust score does not tell you

A trust score is a signal based on historical on-chain behavior, not a guarantee. Keep these in mind:

  • A new wallet with zero history will score MINIMAL regardless of who controls it.
  • The score reflects the wallet's past, not what it will do next.
  • AgentKarma currently indexes Ethereum and Base. Cross-chain activity on other networks is not yet included.

Use the trust score as one input in your decision, alongside spending limits, allowlists, and any other controls your application enforces.

Look up any wallet address now

Check a wallet →