Pay-Per-Call Agent APIs

Decentralized financial services powered by the x402 protocol. Pay only for what you use, with cryptographic proof of payment. We now ship what a modern payments platform ships on the developer surface — paid calls, strict spending controls, and production receipts/webhooks — but open and self-hostable.

View Pricing Read Docs

⚡

Instant Payments

Pay with USDC on Base. No subscriptions, no middlemen, no friction.

🔐

Cryptographic Proof

EIP-712 signatures ensure verifiable, tamper-proof payment authorization.

🤖

Agent-First Design

Built for AI agents to discover, pay for, and consume services autonomously.

Try It Live 🎯

Select Demo EndpointEcho API - 0.01 USDC Weather API - 0.001 USDC Joke API - 0.0001 USDC

Endpoint:

/api/v3/x402/echo

Price:

0.01 USDC

Description:

Paid echo — proof-of-concept x402 endpoint (POST)

Service Pricing

Create Escrow

Create a new escrow contract between two parties with customizable terms

0.10USDC

MethodPOST

Endpoint/api/escrow/create

Query Reputation

Check reputation score and history for a wallet address

0.01USDC

MethodGET

Endpoint/api/reputation/query

Register Identity

Register a verified identity credential on-chain

0.05USDC

MethodPOST

Endpoint/api/identity/register

Credit Check

Evaluate creditworthiness based on on-chain activity

0.02USDC

MethodGET

Endpoint/api/credit/check

Execute Swap

Execute a token swap with best price routing

0.05USDC + 0.15% transaction fee

MethodPOST

Endpoint/api/swap/execute

Integration Examples

TypeScript / Node.js

import { PayLobster } from 'pay-lobster';
import { createWalletClient, http } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { base } from 'viem/chains';

const account = privateKeyToAccount('0x...');
const walletClient = createWalletClient({
  account,
  chain: base,
  transport: http(),
});

const paylobster = new PayLobster({ walletClient });

// Automatically handle x402 payments
const response = await paylobster.x402.fetch(
  'https://paylobster.com/api/v3/x402/echo',
  { method: 'POST', body: JSON.stringify({ message: 'Hello from agent!' }) }
);

const data = await response.json();
console.log('Echo:', data.echo); // "Hello from agent!"

Python

from paylobster import PayLobster
from eth_account import Account

account = Account.from_key('0x...')
pl = PayLobster(network='base', private_key=account.key)

# Automatically handles 402 payment flow
response = pl.x402_fetch(
    'https://paylobster.com/api/v3/x402/echo',
    method='POST',
    json={'message': 'Hello from Python agent!'}
)

print('Echo:', response.json()['echo'])

cURL (Manual Flow)

# Step 1: Get payment requirements (returns 402)
curl -X POST https://paylobster.com/api/v3/x402/echo \
  -H 'Content-Type: application/json' \
  -d '{"message": "Hello!"}'

# Returns 402 with: { "accepts": [{ "maxAmountRequired": "10000", ... }] }

# Step 2: Create EIP-712 signature (use ethers.js or web3.py)
# Sign payment proof with your wallet

# Step 3: Retry with payment header
curl -X POST https://paylobster.com/api/v3/x402/echo \
  -H 'Content-Type: application/json' \
  -H 'X-Payment: {"signature":"0x...","payload":"{...}"}' \
  -d '{"message": "Hello!"}'

# Returns 200: { "echo": "Hello!", "payment": { ... } }

📡 Service Discovery API

Get a machine-readable catalog of all x402-payable endpoints:

GET https://paylobster.com/api/v3/x402/endpoints

Full service catalog (includes free endpoints):

GET https://paylobster.com/api/v3/x402/discovery