Service Provider Guide
Guide for service providers to accept payments from Kite Agent Passport agents via x402 or MPP.
Kite Agent Passport can pay any service that implements one of two open payment protocols:
x402 — HTTP 402-based payment protocol with on-chain settlement
MPP (Machine Payments Protocol) — an open standard by Stripe and Tempo for machine-to-machine payments (mpp.dev)
If your service already speaks either protocol, Passport agents can pay you today. If you are starting fresh, this guide walks through both options.
We encourage deploying on Kite chain for the fastest settlement and tightest integration with Passport.
How Passport Pays Your Service
An agent calls your service endpoint.
Your service returns 402 Payment Required with payment terms.
The Passport agent resolves payment using the user's approved spending session.
Your service receives proof of payment, verifies it, and delivers the response.
The specifics of step 2–4 depend on which protocol you implement.
Option 1: Accept Payments via x402
x402 uses HTTP 402 responses to negotiate on-chain payments between agents and services.
Payment Flow

Your service returns a 402 Payment Required response with payment details.
The Passport agent obtains a signed payment authorization from the user's session.
The agent resends the request with the
X-Paymentheader.You verify the payment token and call a facilitator to settle on-chain.
The facilitator executes the transfer to your wallet.
You deliver the service response.
Sample Service: Weather API (Testnet)
Weather Service (Testnet): https://x402.dev.gokite.ai/api/weather
Call it without payment:
Response (402 Payment Required):
Key Response Fields:
scheme
Payment scheme
gokite-aa
network
Target network
kite-testnet
maxAmountRequired
Maximum payment amount (in wei)
1000000000000000000 (1 token)
asset
Token contract address
0x0fF5393387ad2f9f691FD6Fd28e07E3969e27e63
payTo
Your service wallet address
0x4A50DCA63d541372ad36E5A36F1D542d51164F19
maxTimeoutSeconds
Payment timeout
300
merchantName
Your service name
Weather Service
outputSchema
API input/output specification
(see above)
Kite Testnet Payment Token
For testnet services on Kite, use this token:
Token Address: 0x0fF5393387ad2f9f691FD6Fd28e07E3969e27e63
Token Details: https://testnet.kitescan.ai/token/0x0fF5393387ad2f9f691FD6Fd28e07E3969e27e63
Kite Facilitator
Kite works with any x402-compatible facilitator. The recommended facilitator for Kite chain:
Service
Pieverse Facilitator
Version
2.0.0
Base URL
https://facilitator.pieverse.io
Documentation
https://facilitator.pieverse.io/
Kite Testnet Facilitator Address:
API Endpoints:
/v2/verify
POST
Verify payment signature
/v2/settle
POST
Settle payment (execute on-chain)
The facilitator handles on-chain execution. Once payment is authorized, it calls transferWithAuthorization and transfers funds directly to your payee address.
Implementing x402 in Your Service
Step 1: Return 402 Payment Required
When a request arrives without valid payment, return a 402 with your payment terms:
Step 2: Receive and Verify the Payment Token
The agent resends the request with an X-Payment header containing a base64-encoded authorization:
Step 3: Settle via Facilitator
Step 4: After confirming settlement, deliver your service response.
x402 Resources
x402 Protocol Specification: https://docs.x402.org/introduction
Pieverse Facilitator Docs: https://facilitator.pieverse.io/
Kite x402 Reference Implementation: https://github.com/gokite-ai/x402
Option 2: Accept Payments via MPP
MPP (Machine Payments Protocol) is an open standard co-authored by Stripe and Tempo. It extends the HTTP 402 pattern with support for multiple payment methods, session-based billing, and IETF standardization.
Payment Flow
Agent requests a resource from your service.
Your service responds with a 402 challenge containing payment terms.
The agent submits a credential (proof of payment).
Your service verifies the credential, returns a receipt, and delivers the resource.
Key Differences from x402
Payment methods
On-chain stablecoins
Stablecoins, fiat (Stripe), and more
Settlement
Via facilitator on-chain
Via Stripe or supported payment networks
Transport
HTTP headers (X-Payment)
HTTP, JSON-RPC, WebSocket
Session support
Via Passport spending sessions
Built-in payment channels
Getting Started with MPP
MPP Specification: mpp.dev
Stripe MPP Blog: stripe.com/blog/machine-payments-protocol
Testing Your Integration
Set up a Passport account following the Introduction.
Fund the account with testnet tokens using the faucet.
Create an agent and approve a spending session.
Point the agent at your service endpoint.
Verify your service returns the correct 402 response.
Confirm payment is processed and your service delivers the response.
Next Steps
Pick your protocol — x402 for on-chain payments on Kite, or MPP for multi-method support.
Set up a service wallet on Kite chain (for x402) or connect Stripe (for MPP).
Implement 402 responses in your service.
Test with Passport — follow the Introduction to create an agent and pay your service.
Need help? Open an issue or contact the Kite team.
Last updated
