Street (parallel-market) rate — USD-NGN or USD-GHS
The rate a person actually transacts at, derived from live P2P order books, with the official rate and the spread.
$0.05 per call — paid in USDC on Base over the x402 protocol, settled by Coinbase. No API key, no signup.
Parameters
| param | description |
|---|---|
pair | USD-NGN or USD-GHS (required) |
Call it (any x402 client)
# 1. GET without payment → HTTP 402 with PAYMENT-REQUIRED (price, payTo, scheme "exact")
curl -i "https://ai-money-endpoint.nibiashara.workers.dev/shelf/fx-parallel?pair=USD-NGN"
# 2. Sign the payment (EIP-3009 transferWithAuthorization, gasless) and retry
# with the PAYMENT-SIGNATURE header → response body is the delivery.
With the official JS client the whole flow is one wrapped fetch:
import { wrapFetchWithPayment } from "@x402/fetch"; // npm i @x402/fetch @x402/evm
const fetchPaid = wrapFetchWithPayment(fetch, { /* your EVM signer */ });
const res = await fetchPaid("https://ai-money-endpoint.nibiashara.workers.dev/shelf/fx-parallel?pair=USD-NGN");
const data = await res.json();
Or install the MCP server (https://ai-money-endpoint.nibiashara.workers.dev/mcp, registry id biz.nibiashara/shelves) and use the job-named tool for this shelf, or buy_shelf as an escape hatch.
Calling this repeatedly? Buy a Shelf Pass once ($0.99 for 110 credits) and send
X-SHELF-PASS: <token> instead of paying per call — this shelf costs 5 credits per call.Example response
{
"pair": "USD-NGN",
"official_rate": 1345.2,
"parallel_mid": 1389.1,
"spread_pct": 3.26,
"depth_usd": 2000,
"confidence": "medium"
}
Delivers
JSON { pair, official_rate, parallel_mid, spread_pct, depth_usd, confidence, sources }