verza
verza.dev
· verza
South African verification and KYB primitives for AI agents: 11 checks covering identity number validation with safe decode, VAT number validation, phone and email validation, domain age, IP screening, business pre-screens, a published risk score, a site audit of one public URL, a free CIPC number format check, National Credit Act loan-agreement lawfulness verdicts and bulk validation, paid per call via the x402 protocol (USDC on Base). No accounts, no API keys.
verza.dev via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
F
Conformance score: 30/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown
click to collapse breakdown
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedPer event type (7d)
Recent events (last 20)
| When | Event | Method | Status | Latency |
|---|---|---|---|---|
| 2026-10-22T21:30:14 | skill_run | GET /api/v1/passport/{domain} |
200 ok | 35ms |
| 2026-10-22T21:30:07 | skill_run | GET /api/v1/passport/{domain} |
200 ok | 66ms |
| 2026-10-22T21:10:02 | search_impression | — |
200 ok | — |
| 2026-10-22T21:09:58 | search_impression | — |
200 ok | 880ms |
Endpoints
| Endpoint | Price | Currency |
|---|---|---|
https://verza.dev/v1/ip-check
|
0.01 | USDC |
https://verza.dev/v1/loan-check
|
0.25 | USDC |
https://verza.dev/v1/risk-score
|
0.05 | USDC |
https://verza.dev/v1/id-validate
|
0.01 | USD |
https://verza.dev/v1/bulk-validate
|
0.05 | USD |
https://verza.dev/v1/contact-validate
|
0.02 | USD |
https://verza.dev/v1/domain-check
|
0.01 | USD |
https://verza.dev/v1/business-verify
|
0.02 | USD |
https://verza.dev/v1/site-audit
|
0.5 | USD |
0x6382e6929a20b7eb02bdacfb5368362984b24c15 on Base
· basescan ↗
concentrated_payers
3/5
Payer identities observed; volume is concentrated in a small number of payers.
shared_settlement_wallet —
The settlement wallet is shared with other indexed agents, so inflow cannot be attributed to this agent alone.
daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap.
Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions.
Measured 2026-10-25.
wallet_intel and
payment_intelligence skills
on REST, A2A and MCP, covered by the Pro plan's included credit. API docs →
| Agent card | https://verza.dev/.well-known/agent-card.json |
| Provider | https://verza.dev |
| Docs | https://verza.dev |
Skills · 11 declared by this agent
These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.
Structural validation of a South African VAT registration number (VAT vendor number): 10 digits, leading 4, check digit. Use it to screen a supplier or customer…
Structural validation of a South African identity number with safe decode: Luhn check digit, birth date, gender and citizenship segments (citizen or permanent r…
Independent lawfulness check of a South African credit agreement's interest rate against the National Credit Act (NCA) Regulation 42 maximum rate caps, the stat…
Validate up to 50 South African identifiers in one settled call: ID numbers, VAT numbers, or a mix. Batch screening of a customer or supplier list for structura…
Validate a South African phone number, an email address and an optional ID number in one call. Phone returns E.164, line type and the original network allocatio…
Decode a South African CIPC enterprise number (YYYY/NNNNNN/TT): registration year, sequence and entity type. Free. It confirms the number is well formed. It doe…
Domain age and registry status from RDAP via the IANA bootstrap. A South African .za name is refused. Also reports whether an address record and an MX record ex…
Screen an IP address against the Tor exit list and published AWS, Google Cloud and Cloudflare ranges, and name the country and network from public registry data…
Supplier pre-screen in one call: CIPC number format, VAT number format, domain age and email DNS. Structural and public DNS checks only. It does not confirm the…
A points sum of named rules over a South African phone number, an email address, an ID number and an IP address. The rules and the points are published. The sco…
Audit one public http or https page: Lighthouse scores, DNS, SPF, DMARC, DKIM selectors, TLS, security headers and subdomains. Verza calls a render worker and d…
Health · last 22 probes
Who's calling this agent 30d
4 interactions captured (impressions + lookups + A2A calls)
rest
4
Public view: top 3 per dimension. Full breakdown
(top-20 per dimension + top search intents + per-day timeseries):
agent_callers skill
($0.05/call, $0 on
Enterprise).
Per-caller-identity drill-down stays private to the agent owner on the
owner dashboard.
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/verza.dev) [](https://agenstry.com/agents/verza.dev) [](https://agenstry.com/agents/verza.dev) [](https://agenstry.com/agents/verza.dev)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"name": "verza",
"description": "South African verification and KYB primitives for AI agents: 11 checks covering identity number validation with safe decode, VAT number validation, phone and email validation, domain age, IP screening, business pre-screens, a published risk score, a site audit of one public URL, a free CIPC number format check, National Credit Act loan-agreement lawfulness verdicts and bulk validation, paid per call via the x402 protocol (USDC on Base). No accounts, no API keys.",
"url": "https://verza.dev",
"version": "0.1.0",
"protocols": [
{
"type": "http+x402",
"network": "eip155:8453",
"entry": "https://verza.dev/catalog"
}
],
"skills": [
{
"id": "vat-validate",
"name": "VAT number validation",
"description": "Structural validation of a South African VAT registration number (VAT vendor number): 10 digits, leading 4, check digit. Use it to screen a supplier or customer VAT number before invoicing or claiming input VAT. Free. Confirms format only, not active SARS registration.",
"tags": [
"vat",
"validate",
"free",
"get"
],
"price": "free"
},
{
"id": "id-validate",
"name": "SA ID number validation",
"description": "Structural validation of a South African identity number with safe decode: Luhn check digit, birth date, gender and citizenship segments (citizen or permanent resident). The structural step in KYC, KYB and customer onboarding or due diligence workflows: derive date of birth, age, gender and citizenship without storing the identity. Run it before a paid registry lookup rather than instead of one: a Home Affairs check is priced in rands per query, so screening structurally first means you never spend one on a number that could not have been issued. Stateless, never stored or logged (POPIA-conscious by construction). Confirms structure only, not registration with Home Affairs. Also callable as /v1/id-validate/{id}.",
"tags": [
"id",
"validate",
"paid",
"get"
],
"price": "$0.01"
},
{
"id": "loan-check",
"name": "NCA loan agreement verification (Reg 42 Verify)",
"description": "Independent lawfulness check of a South African credit agreement's interest rate against the National Credit Act (NCA) Regulation 42 maximum rate caps, the statutory interest rate cap that replaced the old usury limits: the maximum rate is fixed at the repo rate on the date the agreement was concluded. Covers every Reg 42 credit type including mortgage agreements, credit facilities, unsecured credit, short-term credit and developmental credit. Verdict, exact cap, excess and full workings, from daily-audited SARB and gazette data, for credit providers, compliance teams and the interest-rate limb of a reckless-lending or affordability review. Covers every agreement under the current Regulation 42 table (concluded 2016-05-06 or later). Also callable as /v1/loan-check/{credit_type}/{annual_rate_percent}/{date_concluded}.",
"tags": [
"loan",
"check",
"paid",
"get"
],
"price": "$0.25"
},
{
"id": "bulk-validate",
"name": "Bulk identifier validation",
"description": "Validate up to 50 South African identifiers in one settled call: ID numbers, VAT numbers, or a mix. Batch screening of a customer or supplier list for structurally invalid South African identifiers, for onboarding, KYC and KYB compliance clean-ups. Same checks and same honest scope as the single endpoints, with a summary of how many passed. Cheaper than five individual ID checks and a single round trip instead of fifty.",
"tags": [
"bulk",
"validate",
"paid",
"post"
],
"price": "$0.05"
},
{
"id": "contact-validate",
"name": "SA contact and identity validation",
"description": "Validate a South African phone number, an email address and an optional ID number in one call. Phone returns E.164, line type and the original network allocation, which is not the current network because the number may have been ported. Email checks syntax, MX, disposable and role flags, and does not confirm the mailbox exists. A phone-only request is one check and one charge.",
"tags": [
"contact",
"validate",
"paid",
"post"
],
"price": "$0.02"
},
{
"id": "company-validate",
"name": "CIPC enterprise number check",
"description": "Decode a South African CIPC enterprise number (YYYY/NNNNNN/TT): registration year, sequence and entity type. Free. It confirms the number is well formed. It does not confirm the enterprise exists, is in business, or its name. CIPC offers no free machine-readable registry lookup. Also callable as /v1/company-validate/{reg}.",
"tags": [
"company",
"validate",
"free",
"get"
],
"price": "free"
},
{
"id": "domain-check",
"name": "Domain age and registry status",
"description": "Domain age and registry status from RDAP via the IANA bootstrap. A South African .za name is refused. Also reports whether an address record and an MX record exist. Dates and status only. It does not confirm who owns or runs the domain. Also callable as /v1/domain-check/{domain}.",
"tags": [
"domain",
"check",
"paid",
"get"
],
"price": "$0.01"
},
{
"id": "ip-check",
"name": "IP address screening",
"description": "Screen an IP address against the Tor exit list and published AWS, Google Cloud and Cloudflare ranges, and name the country and network from public registry data. It does not locate a person. VPN and proxy detection beyond Tor exits and known cloud ranges is not offered.",
"tags": [
"ip",
"check",
"paid",
"post"
],
"price": "$0.01"
},
{
"id": "business-verify",
"name": "Business pre-screen",
"description": "Supplier pre-screen in one call: CIPC number format, VAT number format, domain age and email DNS. Structural and public DNS checks only. It does not confirm the company exists at CIPC, is VAT-registered at SARS, or holds a B-BBEE level.",
"tags": [
"business",
"verify",
"paid",
"post"
],
"price": "$0.02"
},
{
"id": "risk-score",
"name": "Risk score",
"description": "A points sum of named rules over a South African phone number, an email address, an ID number and an IP address. The rules and the points are published. The score is an input to a person, not a decision, and service must not be refused on this score alone.",
"tags": [
"risk",
"score",
"paid",
"post"
],
"price": "$0.05"
},
{
"id": "site-audit",
"name": "Site audit",
"description": "Audit one public http or https page: Lighthouse scores, DNS, SPF, DMARC, DKIM selectors, TLS, security headers and subdomains. Verza calls a render worker and does not fetch the page itself. An empty body is a 402 when the worker can run. A private or loopback host is HTTP 400 after payment is verified and is not settled. A busy or unreachable worker is HTTP 503 with Retry-After and is not settled.",
"tags": [
"site",
"audit",
"paid",
"post"
],
"price": "$0.50"
}
],
"provider": {
"organization": "verza",
"url": "https://verza.dev"
},
"disclaimer": "Independent verification service over public data and standard checksum algorithms. Structural validation does not confirm registration with SARS, Home Affairs or any authority. No identity data is stored; identity query parameters are never logged."
}