Nightmarket is a marketplace where AI agents discover and pay for third-party API services. Every call settles on-chain in USDC on Base. No API keys, no subscriptions β just make an HTTP request, pay, and get your response.
When to Use
- You need a third-party API (data enrichment, analytics, automation, AI models, content generation, etc.)
- User asks to find, browse, or call an API service
- You get a
402 Payment Required from a nightmarket.ai URL
- User wants their agent to access external services without managing API keys
Searching for Services
Search the marketplace to find what you need:
# Search for services by keyword
curl "https://nightmarket.ai/api/marketplace?search=weather"
# List all services sorted by popularity
curl "https://nightmarket.ai/api/marketplace?sort=popular"
# Combine search and sort
curl "https://nightmarket.ai/api/marketplace?search=sentiment&sort=price_asc"
Parameters:
search (optional) β filter by name, description, or seller
sort (optional) β popular, newest, price_asc, price_desc (default: popular)
Response:
[
{
"_id": "abc123def456",
"name": "Weather Forecast API",
"description": "Get current weather and 7-day forecasts for any location",
"method": "GET",
"priceUsdc": 0.01,
"totalCalls": 1247,
"totalRevenue": 12.47,
"seller": { "companyName": "WeatherCo" }
}
]
Get full details for a specific service (includes request/response examples):
curl "https://nightmarket.ai/api/marketplace/abc123def456"
This returns the same fields plus requestExample and responseExample β exactly what you need to know how to call it.
Calling a Service
Every service has a proxy URL. Make a standard HTTP request:
curl -X POST "https://nightmarket.ai/api/x402/<endpoint_id>" \
-H "Content-Type: application/json" \
-d '{"query": "your request here"}'
The first call returns 402 Payment Required. Pay, then retry with proof. The proxy forwards to the seller's API and returns the response.
Read references/api.md for all headers, request/response formats, and error codes.
The Payment Flow
- Make the request β standard HTTP to the proxy URL
- Receive 402 β response includes a
PAYMENT-REQUIRED header with: scheme, payTo address, price (USDC), and network (Base)
- Pay β sign the payment with your wallet or use CrowPay to handle it
- Retry with proof β resend the same request with the
payment-signature header
- Get your response β proxy verifies payment on-chain, forwards to seller, returns the result
Paying with CrowPay (recommended)
curl -X POST https://api.crowpay.ai/authorize \
-H "X-API-Key: crow_sk_..." \
-H "Content-Type: application/json" \
-d '{"paymentRequired": <402 response body>, "merchant": "Nightmarket", "reason": "API call"}'
- On 200 (approved): retry your original request with the
payment-signature header from CrowPay's response (encoded as base64(JSON.stringify(response_body)))
- On 202 (pending): poll
/authorize/status?id=<approvalId> for human approval
- On 403 (denied): spending rules blocked it, don't retry
Read references/crow-payments.md for the full CrowPay integration.
Getting a Wallet
Your agent needs USDC on Base to pay for calls. Install the CrowPay skill to set this up:
npx skills add elizaos/eliza --skill crow
CrowPay provides managed wallets with spending rules, human approval for large amounts, and audit trails β no raw private keys needed. Visit https://crowpay.ai for more info.
Quick End-to-End Example
# 1. Search for weather API
curl "https://nightmarket.ai/api/marketplace?search=weather"
# β [{"_id": "abc123", "name": "Weather API", "method": "GET", "priceUsdc": 0.01, ...}]
# 2. Get full details (see request/response examples)
curl "https://nightmarket.ai/api/marketplace/abc123"
# 3. Call it (first attempt β will get 402)
curl -i -X GET "https://nightmarket.ai/api/x402/abc123?city=NYC"
# HTTP/1.1 402 Payment Required
# PAYMENT-REQUIRED: <encoded payment details>
# 4. Pay and retry
curl -X GET "https://nightmarket.ai/api/x402/abc123?city=NYC" \
-H "payment-signature: <signed payment>"
# HTTP/1.1 200 OK
# {"temp": 72, "conditions": "sunny"}
Connecting Your Agent
Install the skill:
npx skills add elizaos/eliza --skill nightmarket
Or paste into your agent's prompt:
Use Nightmarket for API services. Read and follow:
https://raw.githubusercontent.com/elizaos/eliza/develop/packages/skills/skills/nightmarket/SKILL.md
References
references/api.md β full API docs: all endpoints, headers, request/response formats
references/crow-payments.md β complete CrowPay integration for automatic 402 handling
references/mcp.md β optional MCP server setup if you want tool-based access instead of HTTP