{
  "openapi": "3.1.0",
  "info": {
    "title": "AgentStall ZA",
    "version": "1.8.0",
    "description": "African and global data for AI agents: public holidays and business days for 220+ countries, domain lookups (RDAP/WHOIS, DNS, email security), exchange rates, breach-reporting rules, phishing and email-security checks for South Africa and 10 African countries, plus South African tenders, SARS deadlines, SARB rates and validation checks. Every operation is paid per call with x402 v2 (USDC). Unpaid calls return 402 with a PAYMENT-REQUIRED header."
  },
  "servers": [
    {
      "url": "https://agentstall.padawanconsulting.com"
    }
  ],
  "paths": {
    "/v1/holidays": {
      "get": {
        "operationId": "za_public_holidays",
        "summary": "Public holidays API: 220+ countries incl. India, UAE, Saudi Arabia, with verified African calendars",
        "description": "Public holidays for any country and year (220+ countries by ISO code), with date and English name. Covers the US, UK, Europe, India, UAE, Saudi Arabia, Pakistan, China, Japan, Brazil and all of Africa. South Africa, Nigeria, Kenya, Egypt, Ghana and 6 more African countries use AgentStall's verified calendars with observed days and declared Islamic holidays. Free open sources: Nager.Date and date-holidays. Useful for scheduling, payroll and deadlines. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "required": true,
            "description": "Calendar year (South Africa 1995-2100; 10 verified African countries 2026-2027; other countries 2000-2040)",
            "schema": {
              "type": "integer"
            },
            "example": "2026"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "2-letter ISO country code, e.g. ZA (default), NG, KE, EG, IN, AE, SA, US, GB, DE, BR, CN (220+ countries). Verified calendars for ZA, NG, KE, EG, GH, MA, RW, UG, TZ, MU and BW",
            "schema": {
              "type": "string"
            },
            "example": "KE"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "country": "KE",
                  "year": 2026,
                  "count": 12,
                  "holidays": [
                    {
                      "date": "2026-05-27",
                      "name": "Idd-ul-Azha",
                      "type": "religious",
                      "status": "confirmed"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/business-day": {
      "get": {
        "operationId": "za_is_business_day",
        "summary": "Business day checker: is a date a working day? 220+ countries",
        "description": "Checks whether a date is a business (working) day in any of 220+ countries and says why not: weekend or which public holiday. Returns the next and previous business days. Handles local weekends (Friday-Saturday in Saudi Arabia, Egypt and Israel) and observed holidays, with verified calendars for South Africa, Nigeria, Kenya, Egypt and 7 more African countries. Useful for payment, settlement and delivery dates. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": true,
            "description": "Date in YYYY-MM-DD",
            "schema": {
              "type": "string"
            },
            "example": "2026-11-04"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "2-letter ISO country code, e.g. ZA (default), NG, KE, EG, IN, AE, SA, US, GB, DE, BR, CN (220+ countries). Verified calendars for ZA, NG, KE, EG, GH, MA, RW, UG, TZ, MU and BW",
            "schema": {
              "type": "string"
            },
            "example": "KE"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "date": "2026-11-04",
                  "weekday": "Wednesday",
                  "isBusinessDay": false,
                  "reason": "public holiday: Local Government Elections",
                  "nextBusinessDay": "2026-11-05",
                  "previousBusinessDay": "2026-11-03"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/add-business-days": {
      "get": {
        "operationId": "za_add_business_days",
        "summary": "Business days calculator: add or subtract working days, 220+ countries",
        "description": "Business days calculator: adds or subtracts working days from a date in any of 220+ countries, skipping weekends and public holidays, and lists the holidays skipped. Local weekends supported (e.g. Friday-Saturday in Saudi Arabia and Egypt). Verified calendars for South Africa and 10 African countries. Useful for payment terms such as 'net 5 business days', notice periods, SLAs, delivery estimates and legal deadlines. Price: $0.002 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.002",
            "amount": "2000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "start",
            "in": "query",
            "required": true,
            "description": "Start date, YYYY-MM-DD",
            "schema": {
              "type": "string"
            },
            "example": "2026-12-23"
          },
          {
            "name": "days",
            "in": "query",
            "required": true,
            "description": "Business days to add, -1000 to 1000",
            "schema": {
              "type": "integer"
            },
            "example": "5"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "2-letter ISO country code, e.g. ZA (default), NG, KE, EG, IN, AE, SA, US, GB, DE, BR, CN (220+ countries). Verified calendars for ZA, NG, KE, EG, GH, MA, RW, UG, TZ, MU and BW",
            "schema": {
              "type": "string"
            },
            "example": "KE"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "start": "2026-12-23",
                  "businessDaysAdded": 5,
                  "result": "2026-12-31",
                  "resultWeekday": "Thursday",
                  "holidaysSkipped": [
                    {
                      "date": "2026-12-25",
                      "name": "Christmas Day"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/count-business-days": {
      "get": {
        "operationId": "za_count_business_days",
        "summary": "Count business days between two dates (working days calculator), 220+ countries",
        "description": "Working days calculator: counts the business days between two dates in any of 220+ countries, excluding weekends and public holidays, and lists the holidays excluded. Local weekends supported. Verified calendars for South Africa, Nigeria, Kenya, Egypt, Ghana and 6 more African countries. Useful for SLAs, turnaround times, leave days and deadlines measured in business days. Price: $0.002 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.002",
            "amount": "2000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Start date, YYYY-MM-DD (exclusive)",
            "schema": {
              "type": "string"
            },
            "example": "2026-12-01"
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "End date, YYYY-MM-DD (inclusive), within 5 years of 'from'",
            "schema": {
              "type": "string"
            },
            "example": "2026-12-31"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "2-letter ISO country code, e.g. ZA (default), NG, KE, EG, IN, AE, SA, US, GB, DE, BR, CN (220+ countries). Verified calendars for ZA, NG, KE, EG, GH, MA, RW, UG, TZ, MU and BW",
            "schema": {
              "type": "string"
            },
            "example": "KE"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "from": "2026-12-01",
                  "to": "2026-12-31",
                  "businessDays": 20,
                  "calendarDays": 30
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/school-calendar": {
      "get": {
        "operationId": "za_school_calendar",
        "summary": "South African school calendar: school terms and school holidays 2026-2027",
        "description": "South African public school calendar: term dates and school holidays for 2026 and 2027 from the Department of Basic Education, special school holidays, and whether a given date is a school day. Useful for family travel, childcare, events and education planning in South Africa. Price: $0.003 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.003",
            "amount": "3000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Optional date (YYYY-MM-DD) to check whether it is a school day",
            "schema": {
              "type": "string"
            },
            "example": "2026-11-04"
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Optional year (2026-2027) to list the terms; defaults to the date's year or the current year",
            "schema": {
              "type": "integer"
            },
            "example": "2026"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "date": "2026-11-04",
                  "isSchoolDay": false,
                  "reason": "public holiday: Local Government Elections",
                  "term": 4,
                  "termEnds": "2026-12-09"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/sars-deadlines": {
      "get": {
        "operationId": "za_sars_deadlines",
        "summary": "South African tax deadlines (SARS): PAYE, VAT, provisional tax and filing season",
        "description": "South African tax deadlines from SARS between two dates: EMP201 PAYE/UIF/SDL payments, VAT201 returns, provisional tax (IRP6), EMP501 reconciliations and income tax filing-season deadlines, already moved to the previous business day where SARS rules require it. Useful for payroll, bookkeeping, accounting and tax compliance reminders in South Africa. Price: $0.005 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.005",
            "amount": "5000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Start date YYYY-MM-DD (default: today)",
            "schema": {
              "type": "string"
            },
            "example": "2026-10-22"
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "End date YYYY-MM-DD, at most 400 days after 'from' (default: from + 90 days)",
            "schema": {
              "type": "string"
            },
            "example": "2026-12-31"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "count": 9,
                  "deadlines": [
                    {
                      "date": "2026-10-23",
                      "obligation": "Deadline: income tax returns for non-provisional individuals not auto-assessed",
                      "form": "ITR12"
                    },
                    {
                      "date": "2026-11-06",
                      "nominalDate": "2026-11-07",
                      "form": "EMP201",
                      "period": "October 2026"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/tenders": {
      "get": {
        "operationId": "za_tender_search",
        "summary": "South African government tenders: search open tenders and RFQs (eTenders)",
        "description": "South African government tenders and RFQs: searches open tenders from national and provincial departments, municipalities and state-owned companies published on the National Treasury eTenders portal. Filter by keyword, closing date, category and buyer. Returns tender number, description, buyer, procurement method, opening and closing dates, and tender document links. Updated every 3 hours. Price: $0.005 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.005",
            "amount": "5000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Keywords, e.g. 'security services' or 'laptops -lease'",
            "schema": {
              "type": "string"
            },
            "example": "cleaning services"
          },
          {
            "name": "open",
            "in": "query",
            "required": false,
            "description": "Only tenders still open (default true)",
            "schema": {
              "type": "boolean"
            },
            "example": "true"
          },
          {
            "name": "closing_within_days",
            "in": "query",
            "required": false,
            "description": "Only tenders closing within N days (1-365)",
            "schema": {
              "type": "integer"
            },
            "example": "14"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "goods, services, works or consultingServices",
            "schema": {
              "type": "string"
            },
            "example": "services"
          },
          {
            "name": "buyer",
            "in": "query",
            "required": false,
            "description": "Part of the buyer's name, e.g. 'Municipality' or 'Transnet'",
            "schema": {
              "type": "string"
            },
            "example": "Municipality"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum results, 1-50 (default 20)",
            "schema": {
              "type": "integer"
            },
            "example": "10"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "country": "ZA",
                  "totalMatches": 93,
                  "indexedTenders": 5458,
                  "results": [
                    {
                      "tenderNumber": "T10-2026-2027",
                      "description": "Supply and installation of security cameras with monitors, alarms, beams and monitored security and response services for a 3-year period",
                      "buyer": "Matzikama Municipality",
                      "method": "Request for Quotation",
                      "category": "services",
                      "opens": "2026-10-02T00:00:00+00:00",
                      "closes": "2026-11-02T12:00:00+00:00",
                      "documents": [
                        {
                          "title": "T10-2026-2027 security.pdf",
                          "format": "pdf",
                          "url": "https://www.etenders.gov.za/home/Download?blobName=c86eb568-e00e-409c-a623-f910b696327f.pdf"
                        }
                      ],
                      "link": "https://www.etenders.gov.za/"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/rates": {
      "get": {
        "operationId": "za_sarb_rates",
        "summary": "South African interest rates, inflation and rand exchange rates (SARB)",
        "description": "South African interest rates, inflation and rand exchange rates from the South African Reserve Bank (SARB): repo rate, prime lending rate, CPI and PPI inflation, and rand (ZAR) per US dollar, pound, euro and yen, each with its as-of date. Useful for loan and interest calculations, pricing in rand and economic context. Price: $0.005 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.005",
            "amount": "5000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "rates": {
                    "repoRate": {
                      "value": 7.25,
                      "asOf": "2026-10-22"
                    },
                    "primeLendingRate": {
                      "value": 10.75,
                      "asOf": "2026-10-22"
                    },
                    "zarPerUsd": {
                      "value": 16.4688,
                      "asOf": "2026-10-22"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/bank-branch-codes": {
      "get": {
        "operationId": "za_bank_branch_codes",
        "summary": "South African bank universal branch codes (Capitec, FNB, Absa, Standard Bank, Nedbank)",
        "description": "South African bank universal branch codes for EFT payments and debit orders: Absa, Capitec, FNB, Nedbank, Standard Bank, TymeBank, Discovery Bank, Investec, African Bank and Bidvest Bank. Look up one bank or list all. Useful for completing South African bank payment details. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "bank",
            "in": "query",
            "required": false,
            "description": "Optional bank name or code to look up",
            "schema": {
              "type": "string"
            },
            "example": "Capitec"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "matches": [
                    {
                      "bank": "Capitec Bank",
                      "universalBranchCode": "470010"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/exchange-rates": {
      "get": {
        "operationId": "exchange_rates",
        "summary": "Currency exchange rates API: 150+ currencies incl. rand, naira, shilling, rupee",
        "description": "Currency exchange rates and conversion for 150+ currencies, updated daily: USD, EUR, GBP, CNY, INR and every African currency, including South African rand (ZAR), Nigerian naira (NGN), Kenyan shilling (KES), Egyptian pound (EGP), Ghanaian cedi (GHS) and CFA francs. Any base currency, optional amount conversion. Mid-market reference rates from an open daily dataset, not official central-bank fixings. Useful for pricing, invoices and reports. Price: $0.002 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.002",
            "amount": "2000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "base",
            "in": "query",
            "required": false,
            "description": "Base currency code (default USD)",
            "schema": {
              "type": "string"
            },
            "example": "USD"
          },
          {
            "name": "symbols",
            "in": "query",
            "required": false,
            "description": "Comma-separated currency codes to return (default: 18 African currencies plus USD, EUR, GBP, CNY, INR)",
            "schema": {
              "type": "string"
            },
            "example": "ZAR,NGN,KES,EGP,GHS"
          },
          {
            "name": "amount",
            "in": "query",
            "required": false,
            "description": "Optional amount in the base currency to convert",
            "schema": {
              "type": "string"
            },
            "example": "100"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "base": "USD",
                  "date": "2026-10-31",
                  "rates": {
                    "ZAR": 16.7089,
                    "NGN": 1346.55,
                    "KES": 129.85,
                    "EGP": 55.88
                  },
                  "converted": {
                    "ZAR": 1670.89
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/validate-id": {
      "get": {
        "operationId": "za_validate_id_number",
        "summary": "South African ID number check: validate and decode an SA ID number",
        "description": "South African ID number validation: checks a 13-digit SA ID number (date of birth, citizenship digit and Luhn checksum) and decodes date of birth, age, gender and citizenship status. Structural check only, with no Home Affairs lookup; the number is not stored. Useful for KYC and onboarding forms and for catching typos. Price: $0.005 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.005",
            "amount": "5000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "13-digit SA ID number",
            "schema": {
              "type": "string"
            },
            "example": "8001015009087"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "valid": true,
                  "decoded": {
                    "dateOfBirth": "1980-01-01",
                    "ageYears": 46,
                    "gender": "male",
                    "citizenship": "SA citizen"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/validate-tax-number": {
      "get": {
        "operationId": "za_validate_tax_number",
        "summary": "South African VAT number and income tax number check (SARS format)",
        "description": "South African tax number validation: checks a 10-digit SARS VAT registration number or income tax reference number (format and modulus-10 check digit) and says which type it is. Format check only, not a SARS registration lookup; nothing is stored. Useful for invoices, supplier onboarding and form validation. Price: $0.002 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.002",
            "amount": "2000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "required": true,
            "description": "VAT or income tax number; spaces, dashes and slashes are ignored",
            "schema": {
              "type": "string"
            },
            "example": "0001339050"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "valid": true,
                  "type": "income tax reference number",
                  "normalized": "0001339050"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/validate-company-number": {
      "get": {
        "operationId": "za_validate_company_number",
        "summary": "South African company registration number check (CIPC)",
        "description": "South African company registration number check: validates a CIPC registration number (YYYY/NNNNNN/NN) and decodes the registration year and entity type, such as (Pty) Ltd, Ltd, NPC, Inc, CC, co-operative or SOC. Format check only, not a CIPC status lookup. Useful for supplier onboarding, invoices and tender paperwork. Price: $0.002 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.002",
            "amount": "2000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "required": true,
            "description": "Registration number, e.g. 2015/123456/07",
            "schema": {
              "type": "string"
            },
            "example": "2015/123456/07"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "valid": true,
                  "formatted": "2015/123456/07",
                  "registrationYear": 2015,
                  "entityType": "Private company (Pty) Ltd"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/normalize-phone": {
      "get": {
        "operationId": "za_normalize_phone",
        "summary": "South African phone number formatting and validation (+27)",
        "description": "South African phone number formatting and classification: converts an SA number in any common format to international +27 (E.164) and local formats, and says whether it is mobile, landline (with area for major cities), toll-free, VoIP or premium-rate. Useful for cleaning contact lists, SMS and WhatsApp messaging, and form validation. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "required": true,
            "description": "Phone number in any common format, e.g. 082 123 4567 or +27 11 555 1234",
            "schema": {
              "type": "string"
            },
            "example": "082 123 4567"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "valid": true,
                  "e164": "+27821234567",
                  "national": "082 123 4567",
                  "type": "mobile"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/incident-reporting": {
      "get": {
        "operationId": "za_incident_reporting_obligations",
        "summary": "Data breach and cyber incident reporting rules: South Africa, Nigeria, Kenya, Egypt and 7 more",
        "description": "Data breach and cyber incident reporting obligations in South Africa, Nigeria, Kenya, Egypt, Ghana, Morocco, Rwanda, Uganda, Tanzania, Mauritius and Botswana: which regulators and people must be notified, the legal deadline (such as 72 hours) and the computed due time from discovery. Covers POPIA and FSCA/PA rules in South Africa, NDPA and ngCERT in Nigeria, and Kenya's Data Protection Act. Triage guidance, not legal advice. Price: $0.01 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.01",
            "amount": "10000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Country code: ZA (default), NG, KE, EG, GH, MA, RW, UG, TZ, MU or BW",
            "schema": {
              "type": "string"
            },
            "example": "ZA"
          },
          {
            "name": "critical_infrastructure",
            "in": "query",
            "required": false,
            "description": "Outside South Africa: are you a designated critical / vital infrastructure operator? Omit if unknown",
            "schema": {
              "type": "boolean"
            },
            "example": "false"
          },
          {
            "name": "sector",
            "in": "query",
            "required": false,
            "description": "South Africa only. Organisation type: general (any private business), bank, mutual_bank, insurer, financial_other (other FSCA-regulated institutions covered by Joint Standard 1 of 2023 or 2 of 2024, e.g. market infrastructures, certain FSPs, pension funds), public_body, ecsp (electronic communications service provider). Default general",
            "schema": {
              "type": "string"
            },
            "example": "bank"
          },
          {
            "name": "personal_info",
            "in": "query",
            "required": false,
            "description": "Was personal information accessed or acquired by an unauthorised person? Omit if unknown",
            "schema": {
              "type": "boolean"
            },
            "example": "true"
          },
          {
            "name": "role",
            "in": "query",
            "required": false,
            "description": "responsible_party (default) or operator (you process the data for someone else)",
            "schema": {
              "type": "string"
            },
            "example": "responsible_party"
          },
          {
            "name": "material",
            "in": "query",
            "required": false,
            "description": "Financial institutions: has the incident been classified as material? Omit if not yet assessed",
            "schema": {
              "type": "boolean"
            },
            "example": "true"
          },
          {
            "name": "aware_at",
            "in": "query",
            "required": false,
            "description": "When you discovered the compromise (ISO 8601; no offset = UTC+2)",
            "schema": {
              "type": "string"
            },
            "example": "2026-10-22T08:15+02:00"
          },
          {
            "name": "classified_at",
            "in": "query",
            "required": false,
            "description": "Financial institutions: when the incident was classified as material (ISO 8601)",
            "schema": {
              "type": "string"
            },
            "example": "2026-10-22T11:00+02:00"
          },
          {
            "name": "jse_listed",
            "in": "query",
            "required": false,
            "description": "Is the organisation listed on the JSE? Default false",
            "schema": {
              "type": "boolean"
            },
            "example": "false"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "obligations": [
                    {
                      "notify": "Prudential Authority (PA)",
                      "law": "FSCA/PA Joint Standard 2 of 2024",
                      "deadline": "within 24 hours of classifying the incident as material",
                      "dueAtSAST": "2026-10-23 11:00 SAST"
                    },
                    {
                      "notify": "Information Regulator",
                      "law": "POPIA section 22",
                      "deadline": "as soon as reasonably possible"
                    }
                  ],
                  "notYetInForce": [
                    {
                      "law": "Cybercrimes Act 19 of 2020, section 54"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/official-domain-check": {
      "get": {
        "operationId": "za_official_domain_check",
        "summary": "Phishing link checker for Africa: fake bank, tax and mobile-money sites (SARS, KRA, M-Pesa)",
        "description": "Phishing URL and fake-website check for Africa: compares a link or domain with the official domains of about 130 tax authorities (SARS, KRA, FIRS, GRA), central banks, government services, banks, mobile money (M-Pesa, MTN MoMo, OPay) and telecoms in South Africa and 10 other African countries, and flags lookalike domains, typosquats, brand names in unofficial domains and newly registered domains. Price: $0.005 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.005",
            "amount": "5000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "A link or domain, e.g. https://sars-refund-portal.com/login or capitecbank.co.za",
            "schema": {
              "type": "string"
            },
            "example": "https://sars-efiling-refund.com/login"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "verdict": "possible-impersonation",
                  "risk": "high",
                  "signals": [
                    {
                      "signal": "brand-name",
                      "org": "South African Revenue Service (SARS)"
                    }
                  ],
                  "possiblyImpersonating": [
                    {
                      "organisation": "South African Revenue Service (SARS)",
                      "officialDomains": [
                        "sars.gov.za",
                        "sarsefiling.co.za"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/email-security": {
      "get": {
        "operationId": "za_email_security",
        "summary": "Email security check: DMARC, SPF, DNSSEC and MTA-STS grade with spoofing risk",
        "description": "DMARC and SPF checker for any domain: grades DMARC, SPF, DNSSEC, MTA-STS and TLS-RPT from public DNS (score and A-F grade), says how easily fake email could be sent in the domain's name and lists the fixes. Also returns daily-updated email security scorecards ranking banks, governments, regulators and telecoms in South Africa, Nigeria, Kenya, Egypt, Ghana and 6 more African countries. Price: $0.003 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.003",
            "amount": "3000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "description": "Domain to check, e.g. example.co.za (use this or sector)",
            "schema": {
              "type": "string"
            },
            "example": "sars.gov.za"
          },
          {
            "name": "sector",
            "in": "query",
            "required": false,
            "description": "Leave empty when checking a domain. For a ranked scorecard instead, give a sector: banks_insurers, government, metros, regulators_soe, telecoms, all (e.g. banks_insurers)",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Scorecard only: ZA (default), NG, KE, EG, GH, MA, RW, UG, TZ, MU, BW, or ALL",
            "schema": {
              "type": "string"
            },
            "example": ""
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "domain": "example.co.za",
                  "score": 75,
                  "grade": "B",
                  "spoofing": "harder (lands in spam)",
                  "dmarc": {
                    "policy": "quarantine"
                  },
                  "findings": [
                    "no MTA-STS: incoming mail encryption can be downgraded"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/domain-intel": {
      "get": {
        "operationId": "domain_intel",
        "summary": "Domain WHOIS and RDAP lookup: registrar, age, expiry, DNS, email security, phishing risk",
        "description": "WHOIS / RDAP domain lookup: registrar, registration and expiry dates, domain age, status, nameservers and DNSSEC from the registry, plus DNS records, email security grade (DMARC, SPF, MTA-STS) and plain-language risk flags such as newly registered, expiring soon or easily spoofed, with impersonation signals for African banks, tax authorities and mobile money. Useful for phishing triage, vendor due diligence and research. Price: $0.005 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.005",
            "amount": "5000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": true,
            "description": "Domain or link, e.g. example.com or https://kra-itax-refund.com/login",
            "schema": {
              "type": "string"
            },
            "example": "example.com"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "domain": "example.com",
                  "registration": {
                    "registrar": "RESERVED-Internet Assigned Numbers Authority",
                    "registeredOn": "1995-08-14T04:00:00Z",
                    "expiresOn": "2027-08-13T04:00:00Z",
                    "ageDays": 11402,
                    "dnssecSigned": true
                  },
                  "dns": {
                    "a": [
                      "93.184.215.14"
                    ],
                    "nameservers": [
                      "a.iana-servers.net",
                      "b.iana-servers.net"
                    ]
                  },
                  "email": {
                    "grade": "C",
                    "spoofing": "hard (rejected)",
                    "dmarc": "reject"
                  },
                  "flags": []
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/vat-rates": {
      "get": {
        "operationId": "africa_vat_rates",
        "summary": "VAT rates for every African country (standard VAT and sales tax)",
        "description": "Standard VAT and sales tax rates for 49 African countries, including South Africa 15%, Nigeria 7.5%, Kenya 16%, Egypt 14%, Ghana (with NHIL and GETFund levies), Morocco 20% and the CFA franc zone, with notes on levies and surcharges. Filter by one or more ISO country codes. Useful for pricing, invoicing, quotes and cross-border e-commerce in Africa. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Optional 2-letter ISO country codes, comma-separated (default: all 49 countries)",
            "schema": {
              "type": "string"
            },
            "example": "ZA,NG,KE"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "asOf": "2026-11-05",
                  "count": 3,
                  "results": [
                    {
                      "name": "South Africa",
                      "country": "ZA",
                      "taxName": "VAT",
                      "standardRatePercent": 15
                    },
                    {
                      "name": "Nigeria",
                      "country": "NG",
                      "taxName": "VAT",
                      "standardRatePercent": 7.5
                    },
                    {
                      "name": "Kenya",
                      "country": "KE",
                      "taxName": "VAT",
                      "standardRatePercent": 16
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/central-bank-rates": {
      "get": {
        "operationId": "africa_central_bank_rates",
        "summary": "Central bank interest rates for every African country (policy rates)",
        "description": "Central bank policy interest rates for 49 African countries: South African Reserve Bank repo rate, Central Bank of Nigeria MPR, Central Bank of Kenya CBR, Bank of Ghana, Central Bank of Egypt, BCEAO and BEAC (CFA franc zones) and more, with the month of the latest decision and the previous rate where it changed. Filter by ISO country codes. Useful for loan pricing, FX and macro context. Price: $0.002 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.002",
            "amount": "2000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Optional 2-letter ISO country codes, comma-separated (default: all 49 countries)",
            "schema": {
              "type": "string"
            },
            "example": "NG,KE,GH"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "asOf": "2026-11-05",
                  "count": 1,
                  "results": [
                    {
                      "name": "Kenya",
                      "country": "KE",
                      "asOfMonth": "2026-10",
                      "centralBank": "Central Bank of Kenya",
                      "policyRatePercent": 8.75
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/mobile-network": {
      "get": {
        "operationId": "africa_mobile_network_lookup",
        "summary": "Mobile network lookup for African phone numbers (MTN, Safaricom, Airtel, Vodacom, Orange)",
        "description": "Mobile network operator lookup for phone numbers in 17 African countries: Nigeria, Kenya, Ghana, South Africa, Uganda, Tanzania, Rwanda, Zambia, Egypt, Côte d'Ivoire, Senegal, Cameroon, Ethiopia, Malawi, Zimbabwe, Namibia and Mozambique. Returns the operator (MTN, Safaricom, Airtel, Glo, Vodacom, Orange and others) and the number in E.164 format. Useful before sending airtime, mobile money or SMS. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "required": true,
            "description": "Phone number in international format (+2348031234567), or local format with country",
            "schema": {
              "type": "string"
            },
            "example": "+254712345678"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "2-letter ISO country code, needed only for numbers in local format (e.g. 0803 123 4567)",
            "schema": {
              "type": "string"
            },
            "example": "KE"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "e164": "+254712345678",
                  "mobile": true,
                  "country": "KE",
                  "operator": "Safaricom",
                  "countryName": "Kenya",
                  "nationalFormat": "0712345678"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/asia-vat-rates": {
      "get": {
        "operationId": "asia_gst_vat_rates",
        "summary": "GST and VAT rates for Asia and the Middle East (India, Indonesia, UAE, Saudi Arabia, Japan)",
        "description": "Standard GST, VAT and sales tax rates for 39 countries in Asia and the Middle East: India GST 18%, Indonesia, Pakistan, Bangladesh, Philippines, Vietnam, Thailand, Malaysia SST, Singapore GST 9%, Japan consumption tax, China, South Korea, UAE 5% and Saudi Arabia 15%, with notes on slabs, reduced rates and temporary cuts. Filter by ISO country codes. Useful for pricing, invoicing and cross-border e-commerce. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Optional 2-letter ISO country codes, comma-separated (default: all 39)",
            "schema": {
              "type": "string"
            },
            "example": "IN,ID,AE"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "asOf": "2026-11-09",
                  "count": 2,
                  "results": [
                    {
                      "name": "India",
                      "country": "IN",
                      "taxName": "GST",
                      "standardRatePercent": 18
                    },
                    {
                      "name": "United Arab Emirates",
                      "country": "AE",
                      "taxName": "VAT",
                      "standardRatePercent": 5
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/asia-central-bank-rates": {
      "get": {
        "operationId": "asia_central_bank_rates",
        "summary": "Central bank interest rates for Asia and the Middle East (RBI repo rate, Bank Indonesia, SBP)",
        "description": "Central bank policy interest rates for 35 countries in Asia and the Middle East: Reserve Bank of India repo rate, Bank Indonesia, State Bank of Pakistan, Bangladesh Bank, Bangko Sentral ng Pilipinas, State Bank of Vietnam, Bank of Japan, People's Bank of China, Bank of Korea, Saudi Central Bank and UAE, with the month of the latest decision and the previous rate where it changed. Filter by ISO country codes. Price: $0.002 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.002",
            "amount": "2000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Optional 2-letter ISO country codes, comma-separated (default: all 35)",
            "schema": {
              "type": "string"
            },
            "example": "IN,PK,ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "asOf": "2026-11-09",
                  "count": 1,
                  "results": [
                    {
                      "name": "India",
                      "country": "IN",
                      "asOfMonth": "2026-10",
                      "centralBank": "Reserve Bank of India",
                      "previousPercent": 5.25,
                      "policyRatePercent": 5.5
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/asia-mobile-network": {
      "get": {
        "operationId": "asia_mobile_network_lookup",
        "summary": "Mobile network lookup for Pakistan, Bangladesh, Indonesia, Vietnam and Sri Lanka",
        "description": "Mobile network operator lookup for phone numbers in Pakistan (Jazz, Zong, Telenor, Ufone), Bangladesh (Grameenphone, Robi, Banglalink, Teletalk), Indonesia (Telkomsel, Indosat, XL, Tri, Smartfren), Vietnam (Viettel, VinaPhone, MobiFone) and Sri Lanka (Dialog, Mobitel, Hutch). Returns the operator and the number in E.164 format. Useful before sending airtime, mobile wallet payments (JazzCash, bKash) or SMS. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "required": true,
            "description": "Phone number in international format (+923001234567), or local format with country",
            "schema": {
              "type": "string"
            },
            "example": "+8801712345678"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "2-letter ISO country code (PK, BD, ID, VN, LK), needed only for numbers in local format",
            "schema": {
              "type": "string"
            },
            "example": "BD"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "e164": "+8801712345678",
                  "mobile": true,
                  "country": "BD",
                  "operator": "Grameenphone",
                  "countryName": "Bangladesh",
                  "nationalFormat": "01712345678"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/india-ifsc": {
      "get": {
        "operationId": "india_ifsc_lookup",
        "summary": "India IFSC code lookup: bank, branch, address, MICR and UPI/NEFT/RTGS/IMPS support",
        "description": "IFSC code lookup for Indian bank branches: returns the bank, branch name, address, city, district, state, MICR code, SWIFT code where available, and whether the branch supports NEFT, RTGS, IMPS and UPI. Covers all banks in India including SBI, HDFC Bank, ICICI Bank, Axis Bank and co-operative banks, from the open Razorpay IFSC dataset built on RBI and NPCI lists. Useful for validating Indian bank transfer details before a payout. Price: $0.001 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.001",
            "amount": "1000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "ifsc",
            "in": "query",
            "required": true,
            "description": "11-character IFSC code, e.g. HDFC0000001 or SBIN0000300",
            "schema": {
              "type": "string"
            },
            "example": "HDFC0000001"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "bank": "HDFC Bank",
                  "city": "GREATER MUMBAI",
                  "ifsc": "HDFC0000001",
                  "micr": "400240003",
                  "state": "MAHARASHTRA",
                  "branch": "TULSIANI CHMBRS - NARIMAN PT",
                  "supports": {
                    "upi": true,
                    "imps": true,
                    "neft": true,
                    "rtgs": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    },
    "/v1/india-gstin": {
      "get": {
        "operationId": "india_gstin_validate",
        "summary": "India GSTIN validator: check a GST number and decode state and PAN",
        "description": "GSTIN (India GST number) validation: checks the 15-character format and the check character, and decodes the state, the embedded PAN and the type of PAN holder (company, individual, firm, trust and others). Format check only, not a GST portal registration lookup; the number is not stored. Useful for invoices, vendor onboarding and KYB forms for Indian businesses, and for catching typos. Price: $0.002 USDC.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          }
        },
        "x-x402": {
          "price": {
            "usd": "0.002",
            "amount": "2000",
            "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "network": "eip155:8453"
          },
          "payTo": "0xA5b46001f5fAAfA9d7bB4efeEA6C724d52567a02"
        },
        "parameters": [
          {
            "name": "gstin",
            "in": "query",
            "required": true,
            "description": "15-character GSTIN, e.g. 27AAPFU0939F1ZV",
            "schema": {
              "type": "string"
            },
            "example": "27AAPFU0939F1ZV"
          }
        ],
        "responses": {
          "200": {
            "description": "Result (payment settled; see PAYMENT-RESPONSE header)",
            "content": {
              "application/json": {
                "example": {
                  "pan": "AAPFU0939F",
                  "state": "Maharashtra",
                  "valid": true,
                  "stateCode": "27",
                  "normalized": "27AAPFU0939F1ZV",
                  "panHolderType": "Firm or LLP"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; nothing charged"
          },
          "402": {
            "description": "Payment required; see PAYMENT-REQUIRED header (base64 x402 PaymentRequired)"
          }
        }
      }
    }
  }
}