AINumbers.co Rfc9421 API
The rfc9421 API from AINumbers.co — 3 operation(s) for rfc9421.
The rfc9421 API from AINumbers.co — 3 operation(s) for rfc9421.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ainumbers-co:ainumbers-co-rfc9421-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AINumbers.co Fintech Intelligence Suite Rfc9421 API
version: 1.0.0
description: '**1255 fintech intelligence tools** covering ISO 20022, A2A payments, CFPB §1033, EU AI Act, DORA, MiCA, AML/KYC, BaaS, DLT/tokenization, ESG/climate finance, agentic payments (AP2, ACP, x402, Visa TAP, Mastercard Agent Pay), PQC migration, sanctions screening, and OpenChainGraph v0.4 computation chains.
## Transport
> **The live transport is MCP JSON-RPC 2.0 at `https://mcp.ainumbers.co/mcp` — not REST.**
>
> This OpenAPI file is a **descriptive data-room artifact** — a machine-readable index of all tools and their input/output schemas. The REST paths (`POST /v1/tools/{name}`) described here are a projection; they become functional only if the optional REST shim (Area 2 Path B) is deployed.
>
> To call tools today, connect via the official MCP client SDKs. TypeScript: `@modelcontextprotocol/sdk`. Python: `mcp`.
## Architecture
All tools run **entirely client-side** (browser JavaScript). Zero PII. Zero server calls after page load. Deterministic, reproducible outputs. Licensed CC BY 4.0.
OpenChainGraph v0.4 compute-binding nodes additionally run **server-side on the MCP Worker** and emit verifiable artifacts with `execution_hash` (WebCrypto SHA-256 over RFC 8785 canonical JSON).'
contact:
name: Post Oak Labs
url: https://postoaklabs.com
email: tim@postoaklabs.com
license:
name: CC BY 4.0
url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://ainumbers.co
description: Static browser-based tool host (DreamHost). Tools run client-side — no REST gateway is active on this origin. See x-mcp for the live MCP endpoint.
tags:
- name: rfc9421
paths:
/v1/tools/verify_webbotauth_signature:
post:
operationId: verify_webbotauth_signature
summary: Web Bot Auth Signature Verifier (RFC 9421)
description: 'Verify an RFC 9421 HTTP Message Signature for IETF Web Bot Auth (Ed25519). Reconstructs the signature base from covered components and @signature-params, verifies via crypto.subtle. Zero network, caller-supplied key. Emits ACCEPT or REFUSE.
**Tool URL:** https://ainumbers.co/chaingraph/art-129-webbotauth-signature-verifier.html
**AP2/Policy Mandate export:** yes'
tags:
- rfc9421
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
covered_components:
type: array
items:
type: object
properties:
name:
type: string
value:
type: string
required:
- name
- value
signature_params:
type: string
signature_b64:
type: string
public_key_jwk:
type: object
alg:
type: string
expected_tag:
type: string
created:
type: number
now_unix:
type: number
max_age_s:
type: number
required:
- covered_components
- signature_params
- signature_b64
- public_key_jwk
- alg
responses:
'200':
description: Successful tool execution result
content:
application/json:
schema:
type: object
properties:
signature_cryptographically_valid:
type: boolean
alg_ok:
type: boolean
tag_ok:
type: boolean
fresh:
type:
- boolean
- 'null'
verdict:
type: string
enum:
- ACCEPT
- REFUSE
x-mcp-tool-name: verify_webbotauth_signature
x-tool-url: https://ainumbers.co/chaingraph/art-129-webbotauth-signature-verifier.html
x-source: manifest
x-ap2-export: true
/v1/tools/validate_signature_directory:
post:
operationId: validate_signature_directory
summary: HTTP Signatures Directory Validator
description: 'Validate a /.well-known/http-message-signatures-directory JWKS: path correctness, all keys OKP+Ed25519, and keyid resolution. Emits VALID or INVALID.
**Tool URL:** https://ainumbers.co/chaingraph/art-130-signature-directory-validator.html
**AP2/Policy Mandate export:** yes'
tags:
- rfc9421
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
well_known_path:
type: string
keyid:
type: string
directory_jwks:
type: object
required:
- well_known_path
- keyid
- directory_jwks
responses:
'200':
description: Successful tool execution result
content:
application/json:
schema:
type: object
properties:
path_ok:
type: boolean
all_keys_ok:
type: boolean
keyid_resolved:
type: boolean
verdict:
type: string
enum:
- VALID
- INVALID
errors:
type: array
items:
type: string
x-mcp-tool-name: validate_signature_directory
x-tool-url: https://ainumbers.co/chaingraph/art-130-signature-directory-validator.html
x-source: manifest
x-ap2-export: true
/v1/tools/check_jwks_pinned_directory:
post:
operationId: check_jwks_pinned_directory
summary: JWKS Pinned-Directory Check
description: 'Confirms a caller-supplied JWKS directory document matches a caller-pinned SHA-256 digest -- sha256(canonicalize(directory_jwks)) === pinned_digest -- before art-130 trusts the document''s internal shape. Canonicalization is this codebase''s one JCS/RFC-8785 canon (recursive key-sort, array order preserved), hashed as lowercase hex, so two honest callers hashing the same logical document land on the same digest. Zero network, zero key hosting: both the directory document and the pinned digest are supplied by the caller, never fetched, cached, or served by this tool. Chains before art-130 in the visa-tap-agent-verification chain, so a substituted directory fails before its shape is even checked.
**Tool URL:** https://ainumbers.co/chaingraph/art-609-jwks-pinned-directory-check.html
**AP2/Policy Mandate export:** yes'
tags:
- rfc9421
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
directory_jwks:
type: object
pinned_digest:
type: string
required:
- directory_jwks
- pinned_digest
responses:
'200':
description: Successful tool execution result
content:
application/json:
schema:
type: object
properties:
computed_digest:
type: string
description: sha256(canonicalize(directory_jwks)), lowercase hex.
pinned_digest:
type:
- string
- 'null'
pinned_digest_well_formed:
type: boolean
description: True only if pinned_digest is present and matches 64 lowercase-or-mixed-case hex characters.
digest_match:
type: boolean
key_count:
type: number
x-mcp-tool-name: check_jwks_pinned_directory
x-tool-url: https://ainumbers.co/chaingraph/art-609-jwks-pinned-directory-check.html
x-source: manifest
x-ap2-export: true
x-mcp:
transport: MCP JSON-RPC 2.0 (streamable HTTP)
endpoint: https://mcp.ainumbers.co/mcp
protocol_version: '2025-11-25'
authentication: none
registry: co.ainumbers/tools (official MCP registry)
note: Connect any MCP-compatible client (Claude, ChatGPT, custom agent) directly to this endpoint. The REST paths in this file are descriptive only — they do not exist on the live server unless the REST shim is deployed.