Ni Biashara Shelvespay-per-call APIs for AI agents · x402 · USDC on Base
data · instant

Official FX rate — one African pair

Central-bank reference rate vs USD for one of KES, NGN, GHS, TZS, UGX, ZAR, EGP, RWF, timestamped and sourced.

$0.01 per call — paid in USDC on Base over the x402 protocol, settled by Coinbase. No API key, no signup.

Parameters

paramdescription
paire.g. USD-KES (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-official?pair=USD-KES"

# 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-official?pair=USD-KES");
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 1 credit per call.

Example response

{
  "pair": "USD-KES",
  "rate": 129.2,
  "as_of": "2026-08-22",
  "source": "frankfurter"
}

Delivers

JSON { pair, rate, as_of, source }

← all shelves