Api Endpoint

Afriref - Africa reference data

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)

Open interactive test console

Offering

Provider
afriref.dev
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Legal And Compliance
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://afriref.dev/v1/vat/determine
MIME type
Not provided
First seen
2026-10-16T01:50:14.534Z
Last seen
Tags
VAT, tax, cross-border, x402-sellers

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.05 USDC
Atomic price: 50000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "50000",
    "payTo": "0x1F0409ccD20A2fb497d4DeCeF4E17e9d0688FeA6"
  }
]

Observed health

Status
Reachable
Latest latency
1355 ms
Average latency
1843 ms
HTTP status
403
Last checked
Reachability
92.9% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "properties": {
        "buyer_country": {
          "description": "Buyer's country, ISO 3166-1 alpha-2",
          "type": "string"
        },
        "buyer_type": {
          "description": "unknown (default) = buyer identified only by wallet address — treated as B2C under default rules and explicitly flagged in the response",
          "enum": [
            "B2B",
            "B2C",
            "unknown"
          ],
          "type": "string"
        },
        "receipt": {
          "description": "Optional. true adds an Ed25519 answer receipt on a paid 200, included in this price. Not a certified extract.",
          "type": "boolean"
        },
        "seller_country": {
          "description": "Seller's country, ISO 3166-1 alpha-2 (EL accepted for Greece, UK for United Kingdom)",
          "type": "string"
        }
      },
      "required": [
        "seller_country",
        "buyer_country"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "example": {
      "properties": {
        "buyer_identity_flag": {
          "description": "Present when the buyer was unidentified: records the B2C-default assumption",
          "type": "string"
        },
        "destination_liability": {
          "description": "Present when a supplier-side treatment (e.g. SA zero-rating) coexists with a verified destination-country VAT obligation — carries the companion rule",
          "type": "object"
        },
        "disclaimer": {
          "type": "string"
        },
        "eservices_definition": {
          "description": "What counts as an electronically-supplied service, with citation",
          "type": "object"
        },
        "receipt": {
          "description": "Only when receipt=true on a paid 200. kind answer_receipt. Verify at /certified/public-key.",
          "type": "object"
        },
        "rule": {
          "description": "The applied rule: place_of_supply, who_accounts_for_vat, rate_basis, registration_or_threshold, reporting, statutory citation, notes",
          "type": "object"
        },
        "status": {
          "description": "Paid responses always carry a matched rule — out-of-scope pairs are refused free (422) before payment",
          "enum": [
            "ok"
          ],
          "type": "string"
        },
        "vida_flag": {
          "description": "Forthcoming EU ViDA changes affecting these rules (2027/2028/2030)",
          "type": "string"
        },
        "workings": {
          "description": "The classification reasoning that selected the rule",
          "type": "array"
        }
      },
      "required": [
        "status",
        "workings",
        "disclaimer"
      ],
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}