Turn any API into a paid endpoint.

Install the open-source payment proxy in front of your service. It quotes a price, verifies payment, forwards the request, and returns a signed receipt — no rewrite of your backend.

New here? See why providers publish on xpayapi →

How the proxy works

Your API stays where it is. Callers reach the payment proxy first; the proxy handles payment, then forwards approved requests to your existing service.

Payment proxy request and settlement flow Caller or agent requests the payment proxy, pays on-chain, retries with payment proof, the proxy verifies the payment on-chain, forwards the approved request to the existing API, and returns the response with a signed receipt. CALLER / AGENT PAYMENT PROXY EXISTING API BLOCKCHAIN 1. API request 2. price challenge 3. stablecoin payment 4. retry + payment proof 5. verify payment 6. payment confirmed 7. verified request 8. normal response 9. response + signed receipt
API data stays on the HTTP path. Stablecoin payment settles on-chain.

What you'll do

About 5 minutes, start to finish.

  1. Choose how callers reach the proxy.
  2. Point it at your API and set prices.
  3. Pick your payment network, set your wallet, and run one install command.
  4. Send a test paid call to confirm it works.

Get your proxy running

Answer a few questions for a ready-to-run install command, or switch to manual setup for clone-and-configure steps.

Set your network, where the proxy runs, your API, prices, and wallet. The install command updates as you go — copy it when every step is done.

Takes about 5 minutes.

1. Where will the proxy run?
  • For a public server with Caddy, create a DNS A/AAAA record pointing your domain to this server's public IP before launch.
  • For a server without public inbound access, use Cloudflare Tunnel. Quick tunnel is good for testing; named tunnel is better for a stable hostname.
  • For an existing reverse proxy, run the proxy as a local service and point your own Caddy/Nginx/ingress at it.
  • curl, git, Docker Compose, and outbound internet access. The installer can add Docker when it is missing.

Use the domain that your existing reverse proxy will route to this local service. The generated command sets PUBLIC_BASE_URL from it.

Enter only the domain name, without http:// or https://. Examples: api.example.com, crypto-api.example.com. Do not include paths such as /v1 or /api.

2. Your API address

Enter an upstream address this server can reach, such as localhost:8000, a LAN IP, or a private DNS name. Choose http:// or https:// below.

Does your API need a key to call it?

OpenAPI specification

Where the proxy loads your API definition (openapi.json). Used for route discovery and the directory listing.

Fetch openapi.json from a URL the proxy container can reach.

3. Set your prices

These values are added to the generated command. You can still edit them on your server later.

4. Set your settlement wallet

Payments settle on-chain to this address. The install command stays locked until you replace the placeholder with your own wallet.

Network

Start on testnet with free funds. Switch to mainnet only when you are ready to take real payments.

Settlement wallet balance
Checking balance... Tempo testnet
Advanced — change the stablecoin token (most operators keep the default)
5. List on the xpayapi directory?

6. Run this on your server

This command is enough to install the proxy, apply your choices, and start it with Docker Compose.

# Set your wallet address above to generate the install command.

Your choices above are baked into the command. After it finishes, the proxy is running and (if you opted in) listed on xpayapi.com.

7. Confirm it works

Once the proxy is running, check it answers and that paid routes ask for payment.

# Health check — replace with your domain
curl https://crypto-api.example.com/health

# A paid route returns 402 Payment Required until payment is attached
curl -i https://crypto-api.example.com/openapi.json

To make a real paid call, point a wallet-enabled client (mppx/client, tempo request, or AgentCash) at the same route — it pays the quote and retries automatically.

What you get

Keep your stack Put the open-source proxy in front of a HTTP service.
Pick your billing Charge fixed prices for routes. AI usage metering by input and output tokens is coming soon.
Generated listing The proxy publishes your endpoint metadata so xpayapi.com can build the API profile and docs page automatically.
Own the revenue Payments settle on-chain to the wallet address you configure. The directory helps callers discover you.
Open-source proxy on GitHub How callers pay you