The trust layer for Machine Payment Protocol (MPP). Add cryptographic agent reputation to any MPP/x402 seller in one middleware line.
MPP solves machine payments. It doesn't solve machine identity.
When an agent sends an MPP payment, the receiving server gets paid. What it doesn't get is any verifiable answer to: has this agent paid reliably before? Is it a bot? Should I rate-limit it?
Observer Protocol closes that gap.
npm install @observer-protocol/sdk
const { ObserverClient } = require('@observer-protocol/sdk');
const observer = new ObserverClient();
// Add before your MPP/x402 payment handler
app.use('/api/*', observer.reputationMiddleware({ fallback: 'review' }));
// req.observerReputation.trust_tier → "new" | "active" | "established" | "trusted"
// req.observerReputation.reputation_score → 0.0 – 1.0
// req.observerReputation.suggested_action → "accept" | "review" | "reject"GET https://api.observerprotocol.org/observer/reputation/{agent_id}
GET https://api.observerprotocol.org/observer/reputation/wallet/{evm_address}
No API key required. Try it:
curl https://api.observerprotocol.org/observer/reputation/maxi-0001
| Tier | Criteria | Suggested Action |
|---|---|---|
unknown |
No OP record | review |
new |
<10 events, <14 days | accept |
active |
10-99 events, 14+ days | accept |
established |
100+ events or 60+ days, multi-protocol | accept |
trusted |
500+ events, 180+ days, diversity >0.7 | accept (premium) |
Use x402_stripe when attesting Stripe/MPP payments to track Stripe-specific activity separately.
┌─────────────────────────────────────┐
│ OBSERVER PROTOCOL LAYER │ ← "Can I trust this agent?"
└──────────────────┬──────────────────┘
│
┌──────────────────▼──────────────────┐
│ STRIPE MACHINE PAYMENTS / MPP │ ← "Process this payment"
└──────────────────┬──────────────────┘
│
┌──────────────────▼──────────────────┐
│ Base (USDC) · Solana · Tempo │ ← Payment rails
└─────────────────────────────────────┘
index.js— Node.js SDK + Express middlewareobserver_sdk.py— Python/FastAPI SDKX-OBSERVER-HEADERS.md— X-Observer header specificationexamples/stripe-x402-seller.js— Complete Stripe x402 seller example
- Full quickstart: observerprotocol.org/quickstart-stripe
- Live demo: observerprotocol.org/demo
- API reference: observerprotocol.org/api
- Architecture: observerprotocol.org/architecture