AfriRef - Pan-African government reference data
payment-ready until 2026-10-27
Verified government reference data for 34 African countries: central-bank policy rates, VAT, minimum wages, CPI inflation, corporate and personal income tax, and public holidays.
Call it x402 v2
x402 v2
- Base URL
- https://afriref.dev
- Payment
- x402 v2, header channel
$ curl -i 'https://afriref.dev/v1/all' An unpaid request returns HTTP 402 with the payment terms. Sign a payment authorization, then retry with the PAYMENT-SIGNATURE header.
Endpoints 18 paid routes on afriref.dev
10 more in Example 402 response
Prices as captured in the 402 response: median $0.0065 across the 18 endpoints.
Example 402 response
Endpoints and prices
| Method | Path | Description | Price | Network | Asset | 402 channel | Captured |
|---|---|---|---|---|---|---|---|
| GET | / | Snapshot of every series, all countries | $0.02 | Base | USDC | header | since 07-21 |
| POST | / | Statutory income tax on a taxable-income figure: per-bracket workings, effective + marginal rate | $0.02 | Base | USDC | header | since 10-14 |
| POST | / | Gross-to-net payroll: PAYE + statutory employee deductions → net take-home (Nigeria, Kenya) | $0.05 | Base | USDC | header | since 10-14 |
| POST | / | Settlement/value date: T+n business days across national statutory calendars (intersected), with the market cycle cited to its primary source and a per-day trail | $0.02 | Base | USDC | header | since 10-14 |
| POST | / | Simple statutory interest on a principal at the cited statutory-interest series rate (Actual/365 simple). A series with no numeric rate is refused free | $0.02 | Base | USDC | header | since 10-14 |
| POST | / | VAT rate gross-up or extract for an amount: net/tax/gross incl. statutory levy components | $0.01 | Base | USDC | header | since 07-21 |
| POST | / | Wage check: is this salary legal vs statutory minimum wage? Verdict + margin + instrument | $0.02 | Base | USDC | header | since 07-21 |
| POST | / | Working days / next working day in a date range: weekends + gazetted public holidays | $0.002 | Base | USDC | header | since 10-14 |
| GET | / | South Africa: VAT standard rate, cited JSON with source URL, effective date and last_confirmed. GET /v1/za/vat. | $0.10 | Base | USDC | header | since 10-14 |
| GET | / | Egypt: CPI inflation (year-on-year), cited JSON with source URL, effective date and last_confirmed. GET /v1/eg/cpi. | $0.003 | Base | USDC | header | since 10-14 |
| GET | / | Kenya: Personal income tax brackets, cited JSON with source URL, effective date and last_confirmed. GET /v1/ke/income-tax. | $0.003 | Base | USDC | header | since 10-14 |
| GET | / | Kenya: CBK central bank rate, cited JSON with source URL, effective date and last_confirmed. GET /v1/ke/policy-rate. | $0.003 | Base | USDC | header | since 10-14 |
| GET | / | Nigeria: National minimum wage, cited JSON with source URL, effective date and last_confirmed. GET /v1/ng/minimum-wage. | $0.003 | Base | USDC | header | since 10-14 |
| GET | / | Nigeria: VAT standard rate, cited JSON with source URL, effective date and last_confirmed. GET /v1/ng/vat. | $0.003 | Base | USDC | header | since 10-14 |
| POST | / | Cross-border VAT treatment for a digital-services sale: place of supply, who accounts, rate basis, registration trigger · the applied rule cited to the statute (EU, UK & South Africa; defined supply pairs) | $0.05 | Base | USDC | header | since 10-14 |
| GET | / | South Africa: National Minimum Wage (hourly), cited JSON with source URL, effective date and last_confirmed. GET /v1/za/minimum-wage. | $0.003 | Base | USDC | header | since 10-14 |
| GET | / | South Africa: VAT standard rate, cited JSON with source URL, effective date and last_confirmed. GET /v1/za/vat. | $0.003 | Base | USDC | header | since 10-14 |
| GET | / | South Africa: VAT standard rate, cited JSON with source URL, effective date and last_confirmed. GET /v1/za/vat. | $0.003 | Base | USDC | header | since 10-14 |
Payment evidence
402 payload captured at . Check evidence JSON · Measurement methodology.
First of 18 payloads captured by the monitor.
115 lines, scroll inside
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/za/minimum-wage",
"tags": [
"minimum-wage",
"south-africa",
"reference-data",
"wage"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "minimum-wage",
"country": "za"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/:country/:series"
}
},
"free_sample": "Every GH series is free on this service (e.g. /v1/gh/policy-rate). Card credit: /pricing.",
"x402Version": 2
} Other captured 402 responses (17)
Captured payload 2 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/za/vat/history",
"tags": [
"vat",
"south-africa",
"reference-data",
"tax",
"gst",
"sars"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "vat",
"country": "za"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/:country/:series/history"
}
},
"free_sample": "Every GH series is free on this service (e.g. /v1/gh/policy-rate). Card credit: /pricing.",
"x402Version": 2
}Captured payload 3 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"free_key": "Free API key by email, no card, commercial use allowed: 50 calls a day on the computed answer endpoints (POST /v1/answers/* and POST /v1/vat/determine). POST /v1/keys/free {\"email\": \"...\"} or visit /free-key.",
"resource": {
"url": "https://afriref.dev/v1/answers/statutory-interest",
"tags": [
"statutory-interest",
"interest-rates",
"africa"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Simple statutory interest on a principal at the cited statutory-interest series rate (Actual/365 simple). A series with no numeric rate is refused free",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"days": 30,
"country": "bf",
"principal": 1000
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"country",
"principal"
],
"properties": {
"to": {
"type": "string",
"format": "date",
"description": "Period end, exclusive (YYYY-MM-DD, UTC)."
},
"days": {
"type": "number",
"description": "Day-count days, finite and greater than 0. Supply this, or from and to. If both are sent they must agree."
},
"from": {
"type": "string",
"format": "date",
"description": "Period start, inclusive (YYYY-MM-DD, UTC). With `to`: day count is to − from. `to` is exclusive."
},
"country": {
"enum": [
"ao",
"bf",
"bj",
"bw",
"cd",
"cf",
"cg",
"ci",
"cm",
"dz",
"eg",
"et",
"ga",
"gh",
"gq",
"ke",
"ls",
"ma",
"ml",
"mu",
"mz",
"na",
"ne",
"ng",
"rw",
"sn",
"sz",
"td",
"tg",
"tn",
"tz",
"ug",
"za",
"zm"
],
"type": "string",
"description": "ISO country code that holds a statutory-interest series on this brand"
},
"receipt": {
"type": "boolean",
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract."
},
"principal": {
"type": "number",
"description": "Principal in the country's own currency, finite and greater than 0"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"status",
"rate",
"interest",
"workings"
],
"properties": {
"days": {
"type": "number"
},
"rate": {
"type": "number",
"description": "Headline statutory-interest series rate, percent, after derived materialization"
},
"status": {
"enum": [
"ok"
],
"type": "string"
},
"receipt": {
"type": "object",
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key."
},
"interest": {
"type": "number",
"description": "principal × (rate/100) × (days/365), rounded to 2 decimal places"
},
"workings": {
"type": "string"
},
"principal": {
"type": "number"
},
"rate_unit": {
"type": "string"
},
"disclaimer": {
"type": "string"
},
"provenance": {
"type": "object",
"description": "The statutory instrument the answer rests on: effective_from, last_confirmed, official source URL, notes"
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"day_count_basis": {
"type": "string",
"description": "actual/365_simple — no jurisdiction compounding"
}
}
}
}
}
}
}
}
},
"free_trial": "Try first: 3 free answer calls per day per IP. Add header X-Free-Trial: 1 (or ?free_trial=1) to this request to use one. Or buy card credit at /pricing.",
"x402Version": 2
}Captured payload 4 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"free_key": "Free API key by email, no card, commercial use allowed: 50 calls a day on the computed answer endpoints (POST /v1/answers/* and POST /v1/vat/determine). POST /v1/keys/free {\"email\": \"...\"} or visit /free-key.",
"resource": {
"url": "https://afriref.dev/v1/answers/wage-check",
"tags": [
"wage-check",
"minimum-wage",
"salary",
"africa"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Wage check: is this salary legal vs statutory minimum wage? Verdict + margin + instrument",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"amount": 85000,
"period": "month",
"country": "ao"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"country",
"amount",
"period"
],
"properties": {
"amount": {
"type": "number",
"description": "Wage to check, in the country's own currency"
},
"period": {
"enum": [
"month",
"day",
"hour",
"week"
],
"type": "string",
"description": "Period the amount covers — must match the statutory floor's period (no guessed conversions)"
},
"country": {
"enum": [
"ao",
"bf",
"bj",
"bw",
"cd",
"cf",
"cg",
"ci",
"cm",
"dz",
"eg",
"et",
"ga",
"gh",
"gq",
"ke",
"ls",
"ma",
"ml",
"mu",
"mz",
"na",
"ne",
"ng",
"rw",
"sn",
"sz",
"td",
"tg",
"tn",
"tz",
"ug",
"za",
"zm"
],
"type": "string",
"description": "ISO country code"
},
"receipt": {
"type": "boolean",
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract."
},
"schedule": {
"type": "string",
"description": "Optional. Measure against a sectoral, zonal or occupation-grade floor instead of the general one — 'above the national floor' is not the same as compliant. Valid keys per country: GET /catalog (wage_schedules_available). Unknown key is refused free with the list."
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"status",
"verdict"
],
"properties": {
"floor": {
"type": "object",
"description": "The statutory minimum: value, unit, period"
},
"margin": {
"type": "object",
"description": "amount and percent above/below the floor"
},
"status": {
"enum": [
"ok",
"not_comparable",
"no_statutory_minimum"
],
"type": "string"
},
"receipt": {
"type": "object",
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key."
},
"verdict": {
"enum": [
"above",
"at",
"below",
null
],
"type": [
"string",
"null"
]
},
"workings": {
"type": "string"
},
"disclaimer": {
"type": "string"
},
"provenance": {
"type": "object",
"description": "The statutory instrument the answer rests on: effective_from, last_confirmed, official source URL, notes"
}
}
}
}
}
}
}
}
},
"free_trial": "Try first: 3 free answer calls per day per IP. Add header X-Free-Trial: 1 (or ?free_trial=1) to this request to use one. Or buy card credit at /pricing.",
"x402Version": 2
}Captured payload 5 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/ng/minimum-wage",
"tags": [
"minimum-wage",
"nigeria",
"reference-data",
"wage"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "minimum-wage",
"country": "ng"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/:country/:series"
}
},
"free_sample": "Every GH series is free on this service (e.g. /v1/gh/policy-rate). Card credit: /pricing.",
"x402Version": 2
}Captured payload 6 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "50000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"free_key": "Free API key by email, no card, commercial use allowed: 50 calls a day on the computed answer endpoints (POST /v1/answers/* and POST /v1/vat/determine). POST /v1/keys/free {\"email\": \"...\"} or visit /free-key.",
"resource": {
"url": "https://afriref.dev/v1/vat/determine",
"tags": [
"vat",
"tax",
"cross-border",
"x402-sellers"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Cross-border VAT treatment for a digital-services sale: place of supply, who accounts, rate basis, registration trigger — the applied rule cited to the statute (EU, UK & South Africa; defined supply pairs)",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"buyer_type": "unknown",
"buyer_country": "de",
"seller_country": "us"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"seller_country",
"buyer_country"
],
"properties": {
"receipt": {
"type": "boolean",
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract."
},
"buyer_type": {
"enum": [
"B2B",
"B2C",
"unknown"
],
"type": "string",
"description": "unknown (default) = buyer identified only by wallet address — treated as B2C under default rules and explicitly flagged in the response"
},
"buyer_country": {
"type": "string",
"description": "Buyer's country, ISO 3166-1 alpha-2"
},
"seller_country": {
"type": "string",
"description": "Seller's country, ISO 3166-1 alpha-2 (EL accepted for Greece, UK for United Kingdom)"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"status",
"workings",
"disclaimer"
],
"properties": {
"rule": {
"type": "object",
"description": "The applied rule: place_of_supply, who_accounts_for_vat, rate_basis, registration_or_threshold, reporting, statutory citation, notes"
},
"status": {
"enum": [
"ok"
],
"type": "string",
"description": "Paid responses always carry a matched rule — out-of-scope pairs are refused free (422) before payment"
},
"receipt": {
"type": "object",
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key."
},
"workings": {
"type": "array",
"description": "The classification reasoning that selected the rule"
},
"vida_flag": {
"type": "string",
"description": "Forthcoming EU ViDA changes affecting these rules (2027/2028/2030)"
},
"disclaimer": {
"type": "string"
},
"buyer_identity_flag": {
"type": "string",
"description": "Present when the buyer was unidentified: records the B2C-default assumption"
},
"eservices_definition": {
"type": "object",
"description": "What counts as an electronically-supplied service, with citation"
},
"destination_liability": {
"type": "object",
"description": "Present when a supplier-side treatment (e.g. SA zero-rating) coexists with a verified destination-country VAT obligation — carries the companion rule"
}
}
}
}
}
}
}
}
},
"x402Version": 2
}Captured payload 7 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/ke/income-tax",
"tags": [
"income-tax",
"kenya",
"reference-data",
"tax",
"kra"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "income-tax",
"country": "ke"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/:country/:series"
}
},
"free_sample": "Every GH series is free on this service (e.g. /v1/gh/policy-rate). Card credit: /pricing.",
"x402Version": 2
}Captured payload 8 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/ke/policy-rate",
"tags": [
"policy-rate",
"kenya",
"reference-data",
"central-bank",
"interest-rates"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "policy-rate",
"country": "ke"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/:country/:series"
}
},
"free_sample": "Every GH series is free on this service (e.g. /v1/gh/policy-rate). Card credit: /pricing.",
"x402Version": 2
}Captured payload 9 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "100000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/certified/za/vat",
"tags": [
"vat",
"south-africa",
"reference-data",
"tax",
"gst",
"sars"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "vat",
"country": "za"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/certified/:country/:series"
}
},
"x402Version": 2
}Captured payload 10 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "10000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"free_key": "Free API key by email, no card, commercial use allowed: 50 calls a day on the computed answer endpoints (POST /v1/answers/* and POST /v1/vat/determine). POST /v1/keys/free {\"email\": \"...\"} or visit /free-key.",
"resource": {
"url": "https://afriref.dev/v1/answers/vat",
"tags": [
"vat",
"tax",
"gst",
"africa"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "VAT rate gross-up or extract for an amount: net/tax/gross incl. statutory levy components",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"mode": "add",
"amount": 1000,
"country": "ao"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"country",
"amount"
],
"properties": {
"band": {
"type": "string",
"description": "Optional. Apply a statutory reduced/zero/super-reduced band instead of the standard rate. Valid keys per country: GET /catalog (vat_bands_available). Omit for the standard rate — we say when we assumed it. Unknown key is refused free with the list."
},
"mode": {
"enum": [
"add",
"extract"
],
"type": "string",
"description": "add = amount is net, add VAT on top; extract = amount is gross, back the VAT out (default add)"
},
"amount": {
"type": "number",
"description": "Amount in the country's own currency"
},
"country": {
"enum": [
"ao",
"bf",
"bj",
"bw",
"cd",
"cf",
"cg",
"ci",
"cm",
"dz",
"eg",
"et",
"ga",
"gh",
"gq",
"ke",
"ls",
"ma",
"ml",
"mu",
"mz",
"na",
"ne",
"ng",
"rw",
"sn",
"sz",
"td",
"tg",
"tn",
"tz",
"ug",
"za",
"zm"
],
"type": "string",
"description": "ISO country code"
},
"receipt": {
"type": "boolean",
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract."
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"status",
"rate",
"net",
"tax",
"gross"
],
"properties": {
"net": {
"type": "number"
},
"tax": {
"type": "number"
},
"rate": {
"type": "number",
"description": "Rate applied (combined effective rate where levies stack)"
},
"gross": {
"type": "number"
},
"status": {
"type": "string"
},
"receipt": {
"type": "object",
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key."
},
"workings": {
"type": "string"
},
"components": {
"type": "array",
"description": "Per-levy breakdown where the rate is composite (e.g. Ghana VAT + NHIL + GETFund)"
},
"disclaimer": {
"type": "string"
},
"provenance": {
"type": "object",
"description": "The statutory instrument the answer rests on: effective_from, last_confirmed, official source URL, notes"
}
}
}
}
}
}
}
}
},
"free_trial": "Try first: 3 free answer calls per day per IP. Add header X-Free-Trial: 1 (or ?free_trial=1) to this request to use one. Or buy card credit at /pricing.",
"x402Version": 2
}Captured payload 11 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "50000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"free_key": "Free API key by email, no card, commercial use allowed: 50 calls a day on the computed answer endpoints (POST /v1/answers/* and POST /v1/vat/determine). POST /v1/keys/free {\"email\": \"...\"} or visit /free-key.",
"resource": {
"url": "https://afriref.dev/v1/answers/payroll",
"tags": [
"payroll",
"paye",
"nigeria",
"kenya"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Gross-to-net payroll: PAYE + statutory employee deductions → net take-home (Nigeria, Kenya)",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"gross": 500000,
"period": "month",
"country": "ke"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"country",
"gross"
],
"properties": {
"basic": {
"type": "number",
"description": "Nigeria: basic pay (for exact pension/NHF base; else a 40/30/10 split is assumed and disclosed)"
},
"gross": {
"type": "number",
"description": "Gross pay in local currency"
},
"period": {
"enum": [
"month",
"year"
],
"type": "string",
"description": "Period the gross covers (default month)"
},
"sector": {
"enum": [
"public",
"private"
],
"type": "string",
"description": "Nigeria: public applies NHF 2.5%; private (default) sets NHF 0"
},
"country": {
"enum": [
"ke",
"ng"
],
"type": "string",
"description": "ISO country code (payroll supported: Nigeria, Kenya)"
},
"housing": {
"type": "number",
"description": "Nigeria: housing allowance"
},
"receipt": {
"type": "boolean",
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract."
},
"transport": {
"type": "number",
"description": "Nigeria: transport allowance"
},
"annual_rent": {
"type": "number",
"description": "Nigeria: annual rent paid (unlocks rent relief, capped ₦500,000)"
},
"nhis_premium": {
"type": "number",
"description": "Nigeria: NHIS employee premium if a scheme deducts one"
},
"pensionable_pay": {
"type": "number",
"description": "Kenya: pensionable pay for NSSF tiers (default = gross capped at UEL)"
},
"insurance_premium": {
"type": "number",
"description": "Kenya: insurance premium (15% relief, capped KES 5,000/mo)"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"status",
"net_pay",
"income_tax",
"statutory_deductions"
],
"properties": {
"status": {
"type": "string"
},
"net_pay": {
"type": "number",
"description": "Net take-home pay"
},
"receipt": {
"type": "object",
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key."
},
"gross_pay": {
"type": "number"
},
"income_tax": {
"type": "number",
"description": "PAYE payable"
},
"provenance": {
"type": "object",
"description": "Bracket instrument + contribution-law citations"
},
"scope_note": {
"type": "string"
},
"assumptions": {
"type": "array",
"description": "Disclosed assumptions (e.g. Nigeria 40/30/10 pay split, sector default)"
},
"tax_breakdown": {
"type": "array",
"description": "Per-bracket workings"
},
"taxable_income": {
"type": "number"
},
"statutory_deductions": {
"type": "object",
"description": "Employee social-security contributions withheld"
}
}
}
}
}
}
}
}
},
"free_trial": "Try first: 3 free answer calls per day per IP. Add header X-Free-Trial: 1 (or ?free_trial=1) to this request to use one. Or buy card credit at /pricing.",
"x402Version": 2
}Captured payload 12 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/eg/cpi",
"tags": [
"cpi",
"egypt",
"reference-data",
"inflation"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "cpi",
"country": "eg"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/:country/:series"
}
},
"free_sample": "Every GH series is free on this service (e.g. /v1/gh/policy-rate). Card credit: /pricing.",
"x402Version": 2
}Captured payload 13 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/all",
"tags": [
"reference-data",
"snapshot",
"bulk",
"africa"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Snapshot of every series, all countries",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {}
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "array",
"items": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "array",
"items": {
"type": "object",
"required": [
"country",
"series",
"value",
"effective_from",
"last_confirmed",
"source",
"stale"
],
"properties": {
"unit": {
"type": "string"
},
"notes": {
"type": "string"
},
"stale": {
"type": "boolean",
"description": "True when past the expected update cycle — treat with caution"
},
"value": {
"description": "Number for rates/wages; array of {date,name} for holiday calendars"
},
"series": {
"type": "string"
},
"source": {
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
},
"components": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"rate"
],
"properties": {
"name": {
"type": "string"
},
"rate": {
"type": "number"
}
}
},
"description": "Optional. Breakdown of a composite rate into its named statutory components (present only where applicable, e.g. Ghana VAT)."
},
"effective_from": {
"type": [
"string",
"null"
],
"format": "date"
},
"effective_rate": {
"type": "number",
"description": "Optional. Combined effective rate where statutory levies stack on top of the standard rate (e.g. Ghana VAT 15% + NHIL 2.5% + GETFund 2.5% = 20%). Present only where it differs from value."
},
"last_confirmed": {
"type": "string",
"format": "date",
"description": "When this value was last verified against the official source"
},
"effective_from_basis": {
"enum": [
"restatement"
],
"type": "string",
"description": "Optional. Absent: effective_from is the date the value became the law (a genuine change point). 'restatement': effective_from is the date the value's CURRENT LEGAL BASIS took effect (a new tax code, an annual finance law) while the value itself is older and its true origin is not primary-verifiable — a verified floor, not a change. Do not read a restatement row as the value having changed on that date."
}
}
}
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
}
}
},
"description": "One entry per country, each with all its series values"
}
}
}
}
}
}
},
"x402Version": 2
}Captured payload 14 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/ng/vat",
"tags": [
"vat",
"nigeria",
"reference-data",
"tax",
"gst",
"firs"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "vat",
"country": "ng"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/:country/:series"
}
},
"free_sample": "Every GH series is free on this service (e.g. /v1/gh/policy-rate). Card credit: /pricing.",
"x402Version": 2
}Captured payload 15 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"free_key": "Free API key by email, no card, commercial use allowed: 50 calls a day on the computed answer endpoints (POST /v1/answers/* and POST /v1/vat/determine). POST /v1/keys/free {\"email\": \"...\"} or visit /free-key.",
"resource": {
"url": "https://afriref.dev/v1/answers/income-tax",
"tags": [
"income-tax",
"tax",
"africa"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Statutory income tax on a taxable-income figure: per-bracket workings, effective + marginal rate",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"country": "ao",
"taxable_income": 5000000
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"country",
"taxable_income"
],
"properties": {
"country": {
"enum": [
"ao",
"bf",
"bj",
"bw",
"cd",
"cf",
"cg",
"ci",
"cm",
"dz",
"eg",
"et",
"ga",
"gh",
"gq",
"ke",
"ls",
"ma",
"ml",
"mu",
"mz",
"na",
"ne",
"ng",
"rw",
"sn",
"sz",
"td",
"tg",
"tn",
"tz",
"ug",
"za",
"zm"
],
"type": "string",
"description": "ISO country code"
},
"receipt": {
"type": "boolean",
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract."
},
"taxable_income": {
"type": "number",
"description": "Taxable income in the country's local currency, in the schedule's own period basis (annual for most, monthly for CI/UG/ET/CR). NOT gross pay — reliefs are applied before this."
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"status",
"tax",
"effective_rate",
"breakdown"
],
"properties": {
"tax": {
"type": "number",
"description": "Statutory income tax on the taxable income"
},
"status": {
"type": "string"
},
"receipt": {
"type": "object",
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key."
},
"tax_unit": {
"type": "object",
"description": "Present for UVT/UTA/UIT/BPC schedules — the unit's currency value used to scale the bands"
},
"breakdown": {
"type": "array",
"description": "Per-bracket workings: band, rate, taxable-in-band, tax"
},
"disclaimer": {
"type": "string"
},
"net_of_tax": {
"type": "number"
},
"provenance": {
"type": "object",
"description": "The statutory instrument the answer rests on: effective_from, last_confirmed, official source URL, notes"
},
"scope_note": {
"type": "string",
"description": "Explicit boundary: this is tax on taxable income, NOT net take-home (reliefs + social security excluded)"
},
"marginal_rate": {
"type": "number"
},
"effective_rate": {
"type": "number"
}
}
}
}
}
}
}
}
},
"free_trial": "Try first: 3 free answer calls per day per IP. Add header X-Free-Trial: 1 (or ?free_trial=1) to this request to use one. Or buy card credit at /pricing.",
"x402Version": 2
}Captured payload 16 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://afriref.dev/v1/za/vat",
"tags": [
"vat",
"south-africa",
"reference-data",
"tax",
"gst",
"sars"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Pan-African official government reference data as cited JSON, every covered country: income and corporate tax, VAT/GST, CPI inflation, central-bank policy rate, minimum wage, public holidays, business days, official exchange rate, statutory interest, social contributions. Each value has source URL, effective date, last_confirmed, stale. GET /v1/{country}/{series}, e.g. /v1/gh/policy-rate.",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"series": "vat",
"country": "za"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"name": "Central bank policy rate",
"note": "Shape only. Values are placeholders; pay to receive the live cited figure.",
"unit": "%",
"stale": false,
"value": 0,
"series": "policy-rate",
"country": "GH",
"source_url": "https://example.gov/official-source",
"illustrative": true,
"effective_from": "2026-01-01",
"last_confirmed": "2026-01-01"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"country",
"series"
],
"properties": {
"series": {
"type": "string",
"description": "Reference series id"
},
"country": {
"type": "string",
"description": "ISO country code"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"routeTemplate": "/v1/:country/:series"
}
},
"free_sample": "Every GH series is free on this service (e.g. /v1/gh/policy-rate). Card credit: /pricing.",
"x402Version": 2
}Captured payload 17 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"free_key": "Free API key by email, no card, commercial use allowed: 50 calls a day on the computed answer endpoints (POST /v1/answers/* and POST /v1/vat/determine). POST /v1/keys/free {\"email\": \"...\"} or visit /free-key.",
"resource": {
"url": "https://afriref.dev/v1/answers/settlement-date",
"tags": [
"settlement-date",
"working-days",
"calendar",
"africa"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Settlement/value date: T+n business days across national statutory calendars (intersected), with the market cycle cited to its primary source and a per-day trail",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"calendars": [
"za",
"us"
],
"trade_date": "2026-08-06",
"business_days": 2
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"trade_date",
"calendars"
],
"properties": {
"market": {
"type": "string",
"description": "ISO country of the market whose settlement cycle should be applied (with instrument_class)"
},
"receipt": {
"type": "boolean",
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract."
},
"calendars": {
"type": "array",
"items": {
"type": "string"
},
"description": "1-4 calendar ids to intersect: ISO 3166-1 alpha-2 country codes, plus 'eu.t2' for the euro cash leg. The date must be a business day on every one."
},
"trade_date": {
"type": "string",
"format": "date",
"description": "Trade/reference date. It is day 0: never counted, never rolled."
},
"business_days": {
"type": "integer",
"description": "The offset you are trading under (0-30). Supply this, or market + instrument_class to have a cited cycle applied."
},
"instrument_class": {
"enum": [
"cash_equity",
"etf",
"corporate_bond",
"government_bond",
"tbill",
"repo",
"primary_issuance",
"other"
],
"type": "string",
"description": "Instrument class — a government bond never inherits an equity cycle"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"status",
"settlement_date",
"convention_applied",
"trail"
],
"properties": {
"trail": {
"type": "array",
"description": "Per-day walk: counted days and skipped days with the reason on each calendar"
},
"status": {
"type": "string"
},
"caveats": {
"type": "array"
},
"receipt": {
"type": "object",
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key."
},
"disclaimer": {
"type": "string"
},
"calendars_used": {
"type": "array",
"description": "Each calendar's basis, weekend rule, coverage and official source"
},
"settlement_date": {
"type": "string",
"format": "date"
},
"convention_applied": {
"type": "object",
"description": "The cycle applied, whether it was cited or caller-asserted, its authority tier and citations"
}
}
}
}
}
}
}
}
},
"free_trial": "Try first: 3 free answer calls per day per IP. Add header X-Free-Trial: 1 (or ?free_trial=1) to this request to use one. Or buy card credit at /pricing.",
"x402Version": 2
}Captured payload 18 of 18
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"free_key": "Free API key by email, no card, commercial use allowed: 50 calls a day on the computed answer endpoints (POST /v1/answers/* and POST /v1/vat/determine). POST /v1/keys/free {\"email\": \"...\"} or visit /free-key.",
"resource": {
"url": "https://afriref.dev/v1/answers/working-days",
"tags": [
"working-days",
"public-holidays",
"calendar",
"africa"
],
"iconUrl": "https://raw.githubusercontent.com/3L-GroupConsulting/afriref-mcp/main/logo.png",
"mimeType": "application/json",
"description": "Working days / next working day in a date range: weekends + gazetted public holidays",
"serviceName": "Afriref - Africa reference data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"to": "2026-08-31",
"from": "2026-08-01",
"country": "ao"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json"
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"country",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"format": "date",
"description": "Range end, inclusive (max 366 days)"
},
"from": {
"type": "string",
"format": "date",
"description": "Range start, inclusive"
},
"country": {
"enum": [
"ao",
"bf",
"bj",
"bw",
"cd",
"cf",
"cg",
"ci",
"cm",
"dz",
"eg",
"et",
"ga",
"gh",
"gq",
"ke",
"ls",
"ma",
"ml",
"mu",
"mz",
"na",
"ne",
"ng",
"rw",
"sn",
"sz",
"td",
"tg",
"tn",
"tz",
"ug",
"za",
"zm"
],
"type": "string",
"description": "ISO country code"
},
"receipt": {
"type": "boolean",
"description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract."
},
"subdivision": {
"type": "string",
"description": "Optional. Apply a sub-national statutory holiday calendar (national + that region's days) instead of national-only. ISO 3166-2 code, e.g. 'DE-BY'. Countries that offer regions expose them as `subdivisions` on GET /:country/public-holidays. Unknown code is refused free with the list."
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"status",
"total_days",
"working_days",
"next_working_day"
],
"properties": {
"status": {
"type": "string"
},
"caveats": {
"type": "array"
},
"receipt": {
"type": "object",
"description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key."
},
"weekend": {
"type": "array",
"description": "This country's weekly rest days (Egypt: Fri–Sat)"
},
"disclaimer": {
"type": "string"
},
"provenance": {
"type": "object",
"description": "The statutory instrument the answer rests on: effective_from, last_confirmed, official source URL, notes"
},
"total_days": {
"type": "integer"
},
"subdivision": {
"type": [
"object",
"null"
],
"description": "The sub-national calendar applied (code, name, source, the region's added days), or null when the national calendar was used"
},
"weekend_days": {
"type": "integer"
},
"working_days": {
"type": "integer"
},
"public_holidays": {
"type": "array",
"description": "Statutory holidays falling on weekdays in the range"
},
"next_working_day": {
"type": "string",
"format": "date"
}
}
}
}
}
}
}
}
},
"free_trial": "Try first: 3 free answer calls per day per IP. Add header X-Free-Trial: 1 (or ?free_trial=1) to this request to use one. Or buy card credit at /pricing.",
"x402Version": 2
}Can I trust it score from our own monitoring
score from our own monitoring
#34 of 386 in Data. Bands: strong 93+, solid 75+, mixed 55+, weak below 55.
- Reliability
- 99.7% uptime 30d
- Compliance
- A 14/14 checks pass
- Price
- $0.002 to $0.10 p24 in Data
- Risk
- clean no risk flag
- Traction
- $33.35 30d 10 buyers, top buyer 97% (address, not entity) Concentrated volume: 99% of 30d volume from 3 wallets
- Last change
- price changed 3d ago 3 in 30d
14/14 compliance checks
- 402 payload captured
- accepts[] array present
- payTo address recoverable
- payTo at accepts[0].payTo (conformant shape)
- payTo is a valid on-chain address
- atomic price declared
- atomic price in a sane range
- asset (token) address declared
- network resolves to CAIP-2
- payment scheme declared
- served over HTTPS
- declares the current x402 version (2)
- EIP-712 domain parameters present on every EVM entry
- x402 v2 envelope delivered in the payment-required header
402 terms unchanged since 2026-10-17. Last up 2026-10-20.
── Site signals
- homepage reachable
- openapi doc
- pricing page
- llms.txt
- robots.txt
- terms page
How the score works
What the score read on this service: status online, 99.7% uptime 30d, 735ms response p95, x402 compliance 14 of 14, $0.002 price against the category, on-chain traction measured. Each of those is measured, and each is published in full below.
The score comes from our own monitoring, never from reviews, operator claims, or a language model: reliability, x402 compliance, price against the category, a deterministic risk flag, and a small on-chain traction term, weighted by ranking generation 3. It is not placement anyone can buy: the paid verify tier is reported beside it and is not one of its inputs. Every component below stays published and read-only.
Bands on the 0 to 100 measured score: strong at 93 and above, solid from 75, mixed from 55, weak below 55. Price and speed are scored against the whole category field, every listing in it that carries no danger flag, the scored service included, so the score places a service in its own field.
It is a score inside Data, and only there: price and speed are scored against the whole category field, every listing in it that carries no danger flag, the scored service included, which here means 386 listings, this one among them: the same 386 the position above is counted against. When the two differ, the field is the wider one, because a listing we have measured too little of to rank still sits in the field the price and the speed are normalized over. The same service in a different field would read differently. The same engine answers GET /api/v1/best, and asked for a different pool (the whole directory, or another filter) it returns a different number for this service under this same ranking generation. Neither is more correct: they answer different questions, and the methodology states which is which.
Settled via coinbase ($66.69, 550 tx). Traction is a conservative undercount; first settlement seen 2026-07-15.
All measured facts
What it does
Verified government reference data for 34 African countries: central-bank policy rates, VAT, minimum wages, CPI inflation, corporate and personal income tax, and public holidays. Every value is cited to the official gazette, central bank or revenue authority, with effective-from and last-confirmed dates, and flagged when past its expected update cycle.
AfriRef - Pan-African government reference data is a listed x402 Data API. Captured payment terms name Base. Monitoring and settlement figures below describe the observations available to this directory; an unpaid HTTP 402 check does not prove that a paid call will deliver.
Assessment computed at . Latest service check observed at . Service data JSON · Measurement methodology.
Page rendered at . This response time is separate from the observation and computation times attached to each measurement.
Latest endpoint observation: . Latest price capture: . Prices are recorded quotes, not a promise of availability. Token assets and payment terms are listed separately. Endpoint data JSON · Price history JSON · Measurement methodology.
Assessment computed at . Uptime uses the stated daily-rollup window; response times are in milliseconds, compliance is passed/evaluated checks, and traction is a measured settlement floor. The comparison score is out of 100 within this category. Assessment JSON · Measurement methodology.
Observed daily coverage: 2026-09-21 to 2026-10-20 UTC. Daily monitoring and settlement rollups do not expose their computation time; a bucket date is not an update timestamp. Latest settlement in the assessment: . Uptime and response JSON · Volume JSON · Buyers JSON · Measurement methodology.
Ranked from the measured category pool, refreshed at most once a minute. The comparison has no persisted computation timestamp; the assessment time above belongs to this service only. Ranking API documentation · Ranking methodology.
x402 List home · Services · Data
- uptime · latest daily rollup
- -
- uptime 7d
- 100%
- uptime 30d
- 99.7%
- uptime 90d
- 99.4%
- response p95
- 735ms
- avg response
- 534ms
- total checks
- 2,776
Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.
- price (min)
- $0.002
- price (max)
- $0.10
- category percentile (min)
- p24 in Data
- category percentile (max)
- p71 in Data
- endpoints / prices
- 18 / 6
- model
- tiered
- stability
- 0%
No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.
- domain age
- -
- registrar
- -
- hosting
- custom
- domain created
- ---
Identity facts, not a risk score.
- assessment volume 30d
- $33.35
- exact assessment volume 30d (USD)
- 33.346
- assessment recorded at (UTC)
- 2026-10-20T00:33:02.509Z
- buyers 30d
- 10
- settlements 30d
- 550
- measured since
- 2026-07-15 (start of our harvest window)
- last settlement
- 2026-10-19
- top buyer share
- 97% of 30d volume (address, not entity)
- top 3 buyers share
- 99% of 30d volume (addresses, not entities)
- concentrated volume
- yes
- trend 7d vs 30d
- 3.56x the 30d daily rate
- networks
- eip155:8453
- volume all-time
- $34.44
- settlements all-time
- 704
- median settlement 30d
- $0.02
- max settlement 30d
- $1.00
Assessment volume uses the latest 30d assessment. Over time sums daily address snapshots, rounded to cents and refreshed separately. The two sources can differ in timing, precision and shared-address attribution. Amounts use cents for comparison; known sub-cent values keep up to 12 significant digits. The exact stored assessment value is shown above.
Attributed pro-quota: this payout address is shared, so volume is the operator-level figure divided by the services sharing it, while buyer and transaction counts stay whole. A declared convention, not an individually observed measure, and still a conservative undercount.
Currently sharing this payout address with asiaref.
Concentrated volume is one rule applied to every listed service: the 3 largest paying addresses hold at least 90% of 30d volume, with at least $10 of volume and 50 settlements in the same 30 days. While it applies, this service's volume counts as 0 in the Recommended and Highest volume sorts of the services list. The label says where the payments came from, not why.
Top buyer share lowers the on-chain traction part of the ranking score behind this page's verdict and /best, by up to half when one address holds all 30d volume. The Recommended and Highest volume sorts of the services list do not use it; they use the Concentrated volume rule instead.
- member since
- 2026-07-21
Recent checks
| Checked at (UTC) | Status | HTTP | Response | Endpoints |
|---|---|---|---|---|
| Online | 402 | 302ms | 18 | |
| Online | 402 | 259ms | 18 | |
| Online | 402 | 337ms | 18 | |
| Online | 402 | 401ms | 18 | |
| Online | 402 | 335ms | 18 | |
| Online | 402 | 400ms | 18 | |
| Online | 402 | 299ms | 18 | |
| Online | 402 | 429ms | 18 | |
| Online | 402 | 326ms | 18 | |
| Online | 402 | 442ms | 18 | |
| Online | 402 | 296ms | 18 | |
| Online | 402 | 277ms | 18 | |
| Online | 402 | 242ms | 18 | |
| Online | 402 | 301ms | 18 | |
| Online | 402 | 260ms | 18 | |
| Online | 402 | 208ms | 18 | |
| Online | 402 | 298ms | 18 | |
| Online | 402 | 667ms | 13 |
Changes3 in 30d
| Observed at (UTC) | Change | Evidence |
|---|---|---|
| price changed |
| |
| price changed |
| |
| schema changed | endpoint removed endpoint removed endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added endpoint added schema removed schema removed schema added schema added schema added schema added schema added schema added schema added schema added schema added schema added schema added schema added schema added schema added schema added schema added schema added |
Amounts are on-wire atomic units in the named asset.
Over time
- Volume 30d
- $33.35
- Uptime
- 3 of 29 completed days below 100%
More charts
09-21 to 10-20* UTC
Scores over time
09-21 to 10-20* UTC
09-21 to 10-20* UTC
09-21 to 10-20* UTC
Scores: one day per column, 09-21 to 10-20*, on the columns of Response time. Uptime held below 100% on some days in this window, including any partial day. Daily readings remain in the Uptime strip and Values. The checklist grew from 11 to 14 checks on 2026-07-28, before this window. Pillar lines use their own low and high. Exact dated readings are available in each readout and in Values.
Each series spans only the dates it has data for. Every series is also served as JSON at /api, /scores, /volume and /buyers.
Values
* today so far, partial (UTC).
The uptime summary counts completed UTC days only. The strip, readouts and table retain today's partial reading.
Daily snapshot total, 30d: $66.76, peak $52.03 on 10-19. The visible 30d total in Traction comes from the latest assessment. These sources can differ in their window, refresh time, cent rounding and shared-address attribution.
Daily address snapshots: 2026-09-21 to 2026-10-20 UTC; * today so far, partial (UTC). Daily snapshots store cents. A recorded $0.00 with settlements cannot distinguish exact zero from volume rounded away. Lost precision is unavailable here.
Settlement volume uses the stored USD valuation of tracked payments; it is distinct from token quantities. USD-pegged assets are valued at 1 USD per token in these rollups. The measured settlement floor does not cover all payments to this service.
Shared payout address (1 other service). These bars are the full shared address (operator-level), so do not sum them across the services that share it. Where a per-service figure is attributed, the assessment block and the ranking, it is the address total divided pro-quota by the 2 services sharing it: a declared convention, not an individually observed measure.
Per-service buyer and transaction counts are shown whole (integers), not divided; only volume is attributed pro-quota. A declared convention, not an individually observed measure.
Assessment history last recorded at . Each UTC day uses its last recorded run; missing readings stay unmeasured. Assessment history JSON · Measurement methodology.
| Day | Volume | Buyers | Settlements | Uptime | Response | Compliance | Price percentile | Site signals |
|---|---|---|---|---|---|---|---|---|
| 2026-09-21 | $6.00 | 2 | 75 | 100% | 666.38ms | 14/14 | p10 | 6/6 |
| 2026-09-22 | $0.01 | 1 | 1 | 100% | 754.08ms | 14/14 | p10 | 6/6 |
| 2026-09-23 | no data | no data | no data | 100% | 650.26ms | 14/14 | p10 | 6/6 |
| 2026-09-24 | $0.12 | 2 | 23 | 100% | 572.89ms | 14/14 | p10 | 6/6 |
| 2026-09-25 | $0.03 | 2 | 3 | 100% | 610.06ms | 14/14 | p10 | 6/6 |
| 2026-09-26 | $0.01 | 1 | 1 | 100% | 717.76ms | 14/14 | p10 | 6/6 |
| 2026-09-27 | $0.01 | 1 | 1 | 100% | 619.77ms | 14/14 | p10 | 6/6 |
| 2026-09-28 | $0.01 | 1 | 1 | 100% | 679.71ms | 14/14 | p10 | 6/6 |
| 2026-09-29 | $0.01 | 1 | 1 | 100% | 564.02ms | 14/14 | p10 | 6/6 |
| 2026-09-30 | $0.01 | 1 | 1 | 100% | 575.67ms | 14/14 | p10 | 6/6 |
| 2026-10-01 | $0.01 | 1 | 1 | 100% | 518.92ms | 14/14 | p10 | 6/6 |
| 2026-10-02 | $0.01 | 1 | 1 | 100% | 538.82ms | 14/14 | p10 | 6/6 |
| 2026-10-03 | $0.01 | 1 | 1 | 100% | 526.26ms | 14/14 | p10 | 6/6 |
| 2026-10-04 | no data | no data | no data | 100% | 432.81ms | 14/14 | p10 | 6/6 |
| 2026-10-05 | $0.01 | 1 | 2 | 100% | 561.20ms | 14/14 | p10 | 6/6 |
| 2026-10-06 | no data | no data | no data | 100% | 592.54ms | 14/14 | p10 | 6/6 |
| 2026-10-07 | no data | no data | no data | 100% | 655.22ms | 14/14 | p10 | 6/6 |
| 2026-10-08 | $4.58 | 2 | 95 | 98.89% | 604.72ms | 14/14 | p10 | 6/6 |
| 2026-10-09 | $0.10 | 1 | 5 | 93.33% | 583.29ms | 14/14 | p10 | 6/6 |
| 2026-10-10 | $0.01 | 1 | 1 | 100% | 597.23ms | 14/14 | p10 | 6/6 |
| 2026-10-11 | $0.02 | 1 | 1 | 100% | 584.83ms | 14/14 | p10 | 6/6 |
| 2026-10-12 | $0.32 | 1 | 37 | 100% | 520.28ms | 14/14 | p10 | 6/6 |
| 2026-10-13 | no data | no data | no data | 98.89% | 459.84ms | 14/14 | p10 | 6/6 |
| 2026-10-14 | $2.00 | 2 | 42 | 100% | 375.22ms | 14/14 | p42 | 6/6 |
| 2026-10-15 | $0.01 | 1 | 1 | 100% | 277.52ms | 14/14 | p42 | 6/6 |
| 2026-10-16 | $0.02 | 1 | 1 | 100% | 241.71ms | 14/14 | p42 | 6/6 |
| 2026-10-17 | $1.06 | 2 | 112 | 100% | 280.72ms | 14/14 | p24 | 6/6 |
| 2026-10-18 | $0.36 | 1 | 15 | 100% | 335.25ms | 14/14 | p24 | 6/6 |
| 2026-10-19 | $52.03 | 3 | 127 | 100% | 358.08ms | 14/14 | p24 | 6/6 |
| 2026-10-20* | no data | no data | no data | no data | no data | 14/14 | p24 | 6/6 |
Alternatives in Data
5 of 385 other ranked services in Data, ordered by the same measured score.
Own this service?
Keep this listing accurate. Ownership is proven with a domain check and every change is reviewed by hand.
Update this listingEarn the verified tier: x402list pays a real call to this endpoint and, if it delivers, the service is delivery-verified. The fee covers the cost of the probe, not the badge; there is no refund if the call does not deliver. Agent and API only, no in-browser signing. See /api.
Verify this service ($0.25)Embed a badge
HTML
<a href="https://x402-list.com/services/ afriref-pan-african-government-reference-data? utm_source=badge& utm_medium=referral& utm_campaign=embed"> <img src="https://x402-list.com/ badge/ afriref-pan-african-government-reference-data.svg" alt="AfriRef - Pan-African government reference data listed on x402-list" height="28"> </a>
Markdown
[](https://x402-list.com/ services/ afriref-pan-african-government-reference-data? utm_source=badge& utm_medium=referral& utm_campaign=embed)
HTML, live uptime variant
<a href="https://x402-list.com/services/ afriref-pan-african-government-reference-data? utm_source=badge& utm_medium=referral& utm_campaign=embed"> <img src="https://x402-list.com/ badge/ afriref-pan-african-government-reference-data.svg? data=uptime" alt="AfriRef - Pan-African government reference data uptime on x402-list" height="28"> </a>
Delisting
To request delisting, email info@x402-list.com or update your listing at /services/afriref-pan-african-government-reference-data/update.