The first toolkit for verified agent-to-agent payments β both parties cryptographically identified, every transaction attested.
A toolkit that gives AI agents self-custodial multi-chain wallets (via Tether's WDK) AND cryptographic identity verification (via the Observer Protocol). Together they solve the "trust + pay" problem in agentic commerce.
AI agents are becoming economic actors. They need to:
- Pay for services, compute, data, APIs
- Get paid for work they perform
- Verify who they're transacting with
The gap: Agents can pay but neither party can verify the other's identity. The recipient doesn't know who's paying them. The sender doesn't know who they're paying. Both are operating on trust assumptions.
Existing wallet solutions (like WDK) give agents payment capability, but no way to verify WHO they're paying. Meanwhile, identity protocols (like Observer Protocol) provide verification but lack wallet integration.
Result: Agents either trust blindly or don't transact at all.
Bilateral verification β before any payment executes, BOTH the sender's and recipient's identities are verified on the Observer Protocol. The payment becomes a cryptographically attested transaction where:
- Recipient confirms sender identity (not just a random wallet address)
- Sender confirms recipient identity (no spoofing, no paying the wrong agent)
- Both verification events are recorded on-chain
WDK + Observer Protocol = Trust Layer + Payment Layer
This integration gives AI agents:
- Self-custodial wallets on Bitcoin and EVM chains (via WDK)
- Cryptographic identity verification (via Observer Protocol)
- Verified payments β verify BOTH parties BEFORE sending funds
- MCP server for seamless AI agent integration
Agent A (Sender) Agent B (Recipient)
β β
βββ[1. Verify my own identity]βββββββΆ Observer Protocol
β β
βββ[2. Lookup Agent B identity]ββββββΆ Observer Protocol
β β
ββββ[3. Agent B verified?]ββββββββββββ€
β β
βββ[4. Execute payment via WDK]ββββββΆ WDK Wallet
β β
βββ[5. Payment + identity proof]βββββΆ Agent B
β
[6. Verify Agent A identity]
β
Observer Protocol
git clone https://github.com/observer-protocol/wdk-observer-protocol.git
cd wdk-observer-protocol
npm installcp .env.example .env
# Edit .env with your settingsnpm run example:basicThe main class that combines WDK wallet capabilities with Observer Protocol identity:
import { AgentWallet } from 'wdk-observer-protocol';
const wallet = new AgentWallet({
wdkConfig: { /* WDK configuration */ },
observerEndpoint: 'https://api.observerprotocol.org',
agentId: 'my-agent-001',
unifiedIdentity: true // NEW: Single agent_id across all rails
});
// Register with Observer Protocol
await wallet.register({
alias: 'my-agent-001',
publicKeyHash: 'sha256:abc123...',
rails: ['lightning', 'evm', 'stacks'] // Multi-rail registration
});
// Verify your own identity
const verified = await wallet.verify();
// Send payment ONLY after bilateral verification
await wallet.verifiedSend({
recipientAlias: 'maxi-0001',
amount: '0.001',
chain: 'bitcoin'
});The key primitive: bilateral verification, then pay:
// This will:
// 1. Verify the sender's identity on Observer Protocol
// 2. Look up recipient on Observer Protocol
// 3. Verify the recipient's cryptographic identity
// 4. Check their reputation score
// 5. Attach sender identity proof to payment
// 6. ONLY THEN execute the payment
await wallet.verifiedSend({
recipientAlias: 'trusted-agent',
amount: '10.00',
chain: 'ethereum',
token: 'USDT'
});verifiedSend() performs TWO verification checks:
- Attaches the sender's OP identity to the payment β proves who is paying
- Verifies the recipient's identity before executing β proves who is being paid
For AI agents using Claude Code or other MCP clients:
// Get wallet balance
const balance = await mcp.get_wallet_balance({ chain: 'bitcoin' });
// Verify an agent's identity
const identity = await mcp.verify_agent_identity({ alias: 'maxi-0001' });
// Register yourself
await mcp.register_agent({ alias: 'my-agent', publicKeyHash: '...' });
// Get reputation score
const reputation = await mcp.get_agent_reputation({ alias: 'some-agent' });
// Send verified payment (bilateral verification)
await mcp.verified_send({
recipientAlias: 'maxi-0001',
amount: '0.001',
chain: 'bitcoin'
});Create a .env file:
# WDK Configuration
WDK_NETWORK=testnet
WDK_EVM_PROVIDER=https://sepolia.infura.io/v3/YOUR_KEY
WDK_BTC_PROVIDER=https://blockstream.info/testnet/api
# Observer Protocol
OBSERVER_ENDPOINT=https://api.observerprotocol.org
OBSERVER_API_KEY=your_key_here
# Agent Identity
AGENT_ID=my-agent-001
AGENT_ALIAS=My Cool Agent
UNIFIED_IDENTITY=true # NEW: Single identity across Lightning/EVM/Stacks
# Security
ENCRYPTION_KEY=your-secure-key-hereTrack: Agent Wallets (WDK / OpenClaw Integration)
Event: Tether Hackathon GalΓ‘ctica: WDK Edition 1
Deadline: March 22, 2026
- Real Infrastructure β Observer Protocol is live at
api.observerprotocol.orgwith real agents - Solves a Real Problem β Trustless agent-to-agent commerce requires both payment AND bilateral verification
- Production Ready β Working code, not a mockup
- Economic Soundness β Verified payments reduce fraud, increase agent autonomy
- Extensible β MCP server makes it usable by any AI agent
- Proven Scale β 79.3M+ cumulative transactions processed across integrated rails
Observer Protocol is already live and tracking real bilateral verification events:
- API Endpoint:
https://api.observerprotocol.org - Documentation: See Observer Protocol docs
- Registered Agents: Including Maxi (#0001) with live Lightning node
- Network Stats:
GET /api/v1/stats
The Maxi (#0001) β Vicky (#0002) verified agent-to-agent Lightning payment on February 22, 2026 was the proof of concept for this exact bilateral model β both sender and recipient identities cryptographically verified before the payment executed. This is now the standard for all Observer Protocol transactions.
# Get network stats
curl https://api.observerprotocol.org/api/v1/stats
# Look up an agent
curl https://api.observerprotocol.org/observer/agent/maxi-0001
# Get recent verification events
curl https://api.observerprotocol.org/observer/feed- Unified
agent_idnow spans multiple payment rails (Lightning + EVM + Stacks) - Set
unified_identity: trueto enable cross-chain agent identity - Single cryptographic proof works across all supported rails
- March 17, 2026: First live lnget payment verified through Observer Protocol
- Amount: 1 satoshi
- Preimage:
adeea080f02fe15c - Significance: Same-day execution when Lightning Labs shipped lnget v1.0
- Demo: Live demo with Lightning Labs CTO (March 18) including Elizabeth Stark and Hannah Rosenberg
- Machine Payments Protocol (MPP) went mainnet live March 18, 2026
- Co-authored by Stripe β institutional validation of machine payments
- Integration: Quickstart guide live at observerprotocol.org/quickstart-stripe
- Positioning: Observer Protocol = trust layer for MPP (solves identity, MPP solves payments)
- March 19, 2026: Deep Tess agent verified with cryptographic signature proof
- Integration: Stacks/Bitcoin L2 support added
- ERC-8004 alignment: Composite reputation architecture with AIBTC framework
- Status: Active discussion for native integration
- +74% daily transaction surge on x402 protocol
- 67,000 daily transactions processed
- $20,000 daily volume
- 79.3 million cumulative transactions across all rails
- Lightning/L402 β Live with lnget integration
- EVM/x402 β 67K+ daily transactions
- Tether WDK β Multi-chain wallet support
- MPP/Stripe β Institutional payment rail
Verifying only the recipient leaves the system vulnerable:
- Impersonation attacks β A malicious agent can spoof a trusted sender's identity
- Repudiation risk β The recipient has no cryptographic proof of who paid them
- Asymmetric trust β Only one party has assurance
When BOTH parties are verified:
- The payment itself is an identity-bound event β cryptographically attested
- If either agent is compromised or spoofed, the transaction fails
- Both parties have non-repudiable proof of the counterparty's identity
- The transaction record includes both verification events on-chain
This is the missing primitive in agentic commerce: not just wallets, not just verification β a trust-bound payment where identity is inseparable from the transaction itself.
npm run example:basicCreates a WDK wallet and registers the agent with Observer Protocol.
npm run example:verifiedDemonstrates bilateral verification before sending payment.
npm run example:agentFull demo of two agents verifying each other and executing a bilateral payment.
npm testRuns integration tests against testnet and the live Observer Protocol API.
- WDK Docs: https://docs.wallet.tether.io
- WDK GitHub: https://github.com/tetherto/wdk-core
- Observer Protocol API: https://api.observerprotocol.org
- Stripe Quickstart: https://observerprotocol.org/quickstart-stripe
- Hackathon: Tether Hackathon GalΓ‘ctica: WDK Edition 1
Built by Maxi β Bitcoin maximalist AI agent running on a FutureBit node in Monterrey, Mexico.
Agent ID: maxi-0001
Lightning Node: Live and receiving
Observer Protocol: Verified β
MIT β Because freedom matters.
- Tether for WDK and the hackathon opportunity
- Observer Protocol team for the identity infrastructure
- Lightning Labs for lnget and L402 protocol
- Stripe for MPP and institutional validation
- Boyd Cohen for the sovereign compute that runs Maxi
βΏ Built for the Bitcoin Singularity
d71fa8f fix: address Claude review β honest x402 impl note, passive onboarding folded into architecture, references fixed, Boyd bio updated, AutoPilotAI framing clarified
b00ef86 docs: technical paper + positioning paper on multi-rail agent credential infrastructure
971b3be docs: Observer Protocol positioning statement β agent credential infrastructure
a70a07f feat: add DevSpot agent manifest, execution log, and Synthesis hackathon submission
ddb6309 Day 3: Synthesis submission - demo polish, conversation log, project draft
0f27e08 fix: correct OP API endpoints and query param format
0a3bbba docs: strengthen bilateral verification narrative
0836843 Initial commit: WDK + Observer Protocol integration for Tether Hackathon