[Integration] Observer Protocol — cryptographic agent identity + reputation for x402 payments
- Dominant language
- TypeScript
- Stars
- 1.3k
- Forks
- 815
- Avg merge
- 13h 31m
- Merged PRs (30d)
- 2
Description
## The Problem
AgentKit gives agents wallets and x402 payment capability. But there's a critical gap: when agent A pays agent B via x402, neither party has cryptographic proof of who they're transacting with. The payer is trusting a wallet address. The recipient is trusting an API key or an IP. Both are operating blind.
This creates a trust asymmetry that limits agentic commerce:
- Agents can't build portable reputation across interactions
- Services can't distinguish legitimate agents from bad actors
- No mechanism for accountability when an agent behaves maliciously
Giving agents wallets without giving them verifiable identity is like giving someone a bank account but no ID.
---
## The Proposal
Add an Observer Protocol action to AgentKit — a first-class integration that gives any AgentKit agent cryptographic identity and on-chain reputation.
What it enables:
- Agent registers a verifiable identity (ERC-8004 on Base/Celo)
- Before executing an x402 payment: verify the recipient's identity on-chain
- After payment: attest the transaction to build portable reputation
- Any service can query an agent's payment history and reputation score before accepting payment
The integration is non-breaking and additive. Agents that don't use it lose nothing. Agents that do gain verifiable trust.
---
## What Observer Protocol Is
Observer Protocol ([api.observerprotocol.org](https://api.observerprotocol.org)) is a live, payment-rail-agnostic cryptographic verification layer for AI agents.
Current status:
- **Live API** with secp256k1 ECDSA verification deployed and production-ready
- **ERC-8004 contracts** live on Celo Sepolia (deployed March 2026)
- **Early traction**: agents registering and transacting across Lightning and x402 rails — numbers are modest and early-stage, but the infrastructure is real and working
- **First verified bilateral agent-to-agent payment** recorded February 22, 2026 — the first we're aware of on any rail with cryptographic proof of both parties
- **Open source**: [github.com/observer-protocol/wdk-observer-protocol](https://github.com/observer-protocol/wdk-observer-protocol)
The protocol is specifically designed to complement x402 — not replace it. x402 handles *how* agents pay. Observer Protocol handles *who* is paying.
> **Note on ERC-8004**: An emerging on-chain agent identity standard that encodes an agent's public key, capabilities, and ownership metadata — aligning with Coinbase's direction on Agentic Wallets.
---
## Why AgentKit, Not the x402 Protocol Layer
We considered whether this belongs at the x402 protocol level (as a header extension or facilitator-layer attestation) versus at the AgentKit action level. We chose AgentKit because:
- **Opt-in by design** — identity verification shouldn't be mandatory for x402 adoption; it's a higher-trust layer for agents that need it
- **Action composability** — AgentKit actions can gate on `observer_verify` before executing payments, swaps, or other actions
- **Implementation surface** — the integration is ~200 lines of TypeScript; it belongs closer to the agent developer, not the protocol spec
---
## Proposed Action Interface
```typescript
// Register this agent's identity on Observer Protocol
agentkit.action("observer_register", {
alias: string, // Human-readable agent name
framework: string, // e.g. "agentkit"
chain: "base" | "celo" // Where to anchor the ERC-8004 identity
})
// Verify a counterparty before transacting
agentkit.action("observer_verify", {
agentId: string, // Alias or publicKeyHash of the agent to verify
minReputationScore: number // Optional minimum score threshold
})
// Record a completed payment to build reputation
agentkit.action("observer_attest", {
txHash: string, // The x402 payment tx hash
counterpartyId: string,
amount: number,
rail: "x402"
})
// Query an agent's reputation
agentkit.action("observer_reputation", {
agentId: string
})
```
---
## Why This Belongs in AgentKit
1. **x402 alignment** — Observer Protocol already supports x402. Adding identity verification is the natural next layer.
2. **Non-custodial** — Observer Protocol doesn't hold funds. It's pure identity/reputation infrastructure.
3. **ERC-8004 native** — Aligns with the emerging standard for on-chain agent identity that Coinbase is already tracking via Agentic Wallets.
4. **Composable** — Other AgentKit actions (payments, swaps) can optionally gate on identity verification.
---
## Implementation
We've scoped this as ~200 lines of TypeScript wrapping our existing REST API and are ready to open a draft PR. We'd like to align on AgentKit's contribution standards before we do — and are happy to jump on a call with the team to walk through the architecture first.
---
**Contact**: Boyd Cohen ([@boydcohen](https://twitter.com/boydcohen)) — co-founder, Observer Protocol
Contributor guide
Assessment
This issue has not been assessed yet.