← Protocol index
Resource / 398
healthyUnnamed resource.
Before your agent pays a new bank account: validate the IBAN (all countries), resolve its bank and BIC from national bank registries, and check SEPA reachability per scheme (SCT, SCT Inst, SDD Core/B2B) against the EPC register
Payment requirements / accepts[]
3 options
| State | Network | Scheme | Atomic amount | Asset | payTo / untrusted |
|---|---|---|---|---|---|
| active | eip155:8453 | exact | 10000 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 0x4465825B0ac713aA2Fa07Ea29023020804A128ee |
| active | eip155:8453 | exact | 1000 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 0x4465825B0ac713aA2Fa07Ea29023020804A128ee |
| active | solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp | exact | 10000 | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6 |
All advertised payment options are stored. Base (`eip155:8453`) is the operational network for ranking and canaries; non-Base options remain visible for transparency.
Probe evidence
1 recent
healthy 2026-08-13 00:00:03 UTC GET · HTTP 402 · 86ms · accepts 3 · base 2 ok
Accepts snapshot
[
{
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"assetTransferMethod": null,
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"paymentFlow": null,
"raw": {
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"max_timeout_seconds": 60,
"network": "eip155:8453",
"payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"pay_to": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"scheme": "exact"
},
"scheme": "exact"
},
{
"amount": "10000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"assetTransferMethod": null,
"extra": {
"domain": "invoket.com",
"feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
},
"maxTimeoutSeconds": 60,
"network": "solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp",
"payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
"paymentFlow": null,
"raw": {
"amount": "10000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"domain": "invoket.com",
"feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
},
"maxTimeoutSeconds": 60,
"max_timeout_seconds": 60,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
"pay_to": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
"scheme": "exact"
},
"scheme": "exact"
},
{
"amount": "1000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"assetTransferMethod": null,
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"paymentFlow": null,
"raw": {
"amount": "1000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"max_timeout_seconds": 60,
"network": "eip155:8453",
"payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"pay_to": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"scheme": "exact"
},
"scheme": "exact"
}
]
PaymentRequired raw
{
"accepts": [
{
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"scheme": "exact"
},
{
"amount": "10000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"domain": "invoket.com",
"feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
},
"maxTimeoutSeconds": 60,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
"scheme": "exact"
},
{
"amount": "1000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"scheme": "exact"
}
],
"error": "PAYMENT-SIGNATURE header is required",
"extensions": {
"bazaar": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"properties": {
"iban": {
"description": "IBAN to verify, any SEPA or non-SEPA country; spaces are tolerated",
"type": "string"
}
},
"required": [
"iban"
],
"type": "object"
},
"schema": {
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"resource": {
"description": "Before your agent pays a new bank account: validate the IBAN (all countries), resolve its bank and BIC from national bank registries, and check SEPA reachability per scheme (SCT, SCT Inst, SDD Core/B2B) against the EPC register",
"mimeType": "application/json",
"url": "https://api.invoket.com/iban/resolve"
},
"x402Version": 2
}
Response headers
{
"connection": "keep-alive",
"content-length": "5510",
"content-security-policy": "default-src 'none'; frame-ancestors 'none'",
"content-type": "application/json",
"date": "Thu, 13 Aug 2026 00:00:03 GMT",
"payment-required": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQQVlNRU5ULVNJR05BVFVSRSBoZWFkZXIgaXMgcmVxdWlyZWQiLCJyZXNvdXJjZSI6eyJ1cmwiOiJodHRwczovL2FwaS5pbnZva2V0LmNvbS9pYmFuL3Jlc29sdmUiLCJkZXNjcmlwdGlvbiI6IkJlZm9yZSB5b3VyIGFnZW50IHBheXMgYSBuZXcgYmFuayBhY2NvdW50OiB2YWxpZGF0ZSB0aGUgSUJBTiAoYWxsIGNvdW50cmllcyksIHJlc29sdmUgaXRzIGJhbmsgYW5kIEJJQyBmcm9tIG5hdGlvbmFsIGJhbmsgcmVnaXN0cmllcywgYW5kIGNoZWNrIFNFUEEgcmVhY2hhYmlsaXR5IHBlciBzY2hlbWUgKFNDVCwgU0NUIEluc3QsIFNERCBDb3JlL0IyQikgYWdhaW5zdCB0aGUgRVBDIHJlZ2lzdGVyIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiMTAwMDAiLCJhc3NldCI6IjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsInBheVRvIjoiMHg0NDY1ODI1QjBhYzcxM2FBMkZhMDdFYTI5MDIzMDIwODA0QTEyOGVlIiwibWF4VGltZW91dFNlY29uZHMiOjYwLCJleHRyYSI6eyJuYW1lIjoiVVNEIENvaW4iLCJ2ZXJzaW9uIjoiMiJ9fSx7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6InNvbGFuYTo1ZXlrdDRVc0Z2OFA4TkpkVFJFcFkxdnpxS3FaS3ZkcCIsImFtb3VudCI6IjEwMDAwIiwiYXNzZXQiOiJFUGpGV2RkNUF1ZnFTU3FlTTJxTjF4enliYXBDOEc0d0VHR2tad3lURHQxdiIsInBheVRvIjoiQWUxdW93WVNqYkg0N3VDaVpNbWM1MUFxeGY5NjRiMUZzNGQxYmphUG1NTjYiLCJtYXhUaW1lb3V0U2Vjb25kcyI6NjAsImV4dHJhIjp7ImRvbWFpbiI6Imludm9rZXQuY29tIiwiZmVlUGF5ZXIiOiJHVkpKN3JkR2lYcjV4YVliUndSYmpmYUpMN2Ztd1J5Z0ZpMUg2YUdxRHZlYiJ9fSx7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiMTAwMCIsImFzc2V0IjoiMHg4MzM1ODlmQ0Q2ZURiNkUwOGY0YzdDMzJENGY3MWI1NGJkQTAyOTEzIiwicGF5VG8iOiIweDQ0NjU4MjVCMGFjNzEzYUEyRmEwN0VhMjkwMjMwMjA4MDRBMTI4ZWUiLCJtYXhUaW1lb3V0U2Vjb25kcyI6NjAsImV4dHJhIjp7Im5hbWUiOiJVU0QgQ29pbiIsInZlcnNpb24iOiIyIn19XSwiZXh0ZW5zaW9ucyI6eyJiYXphYXIiOnsic2NoZW1hIjp7IiRzY2hlbWEiOiJodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYSIsInByb3BlcnRpZXMiOnsiaW5wdXQiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOmZhbHNlLCJwcm9wZXJ0aWVzIjp7ImhlYWRlcnMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoib2JqZWN0In0sIm1ldGhvZCI6eyJlbnVtIjpbIkdFVCIsIkhFQUQiLCJERUxFVEUiXSwidHlwZSI6InN0cmluZyJ9LCJxdWVyeVBhcmFtcyI6eyJwcm9wZXJ0aWVzIjp7ImliYW4iOnsiZGVzY3JpcHRpb24iOiJJQkFOIHRvIHZlcmlmeSwgYW55IFNFUEEgb3Igbm9uLVNFUEEgY291bnRyeTsgc3BhY2VzIGFyZSB0b2xlcmF0ZWQiLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpYmFuIl0sInR5cGUiOiJvYmplY3QifSwic2NoZW1hIjp7InR5cGUiOiJvYmplY3QifSwidHlwZSI6eyJjb25zdCI6Imh0dHAiLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJ0eXBlIiwibWV0aG9kIl0sInR5cGUiOiJvYmplY3QifSwib3V0cHV0Ijp7InByb3BlcnRpZXMiOnsiZXhhbXBsZSI6eyJ0eXBlIjoib2JqZWN0In0sInR5cGUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsidHlwZSJdLCJ0eXBlIjoib2JqZWN0In19LCJyZXF1aXJlZCI6WyJpbnB1dCJdLCJ0eXBlIjoib2JqZWN0In19fX0=",
"referrer-policy": "strict-origin-when-cross-origin",
"server": "nginx",
"strict-transport-security": "max-age=63072000; includeSubDomains",
"x-content-type-options": "nosniff"
}
Response body
{
"accepts": [
{
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"scheme": "exact"
},
{
"amount": "10000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"domain": "invoket.com",
"feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
},
"maxTimeoutSeconds": 60,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
"scheme": "exact"
},
{
"amount": "1000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
"scheme": "exact"
}
],
"error": "PAYMENT-SIGNATURE header is required",
"extensions": {
"bazaar": {
"info": {
"input": {
"headers": {
"accept": "application/json"
},
"method": "GET",
"queryParams": {
"iban": "DE89370400440532013000"
},
"schema": {
"properties": {
"iban": {
"description": "IBAN to verify, any SEPA or non-SEPA country; spaces are tolerated",
"type": "string"
}
},
"required": [
"iban"
],
"type": "object"
},
"type": "http"
},
"output": {
"example": {
"data": {
"bank": {
"bic": "COBADEFFXXX",
"name": "Commerzbank"
},
"bank_code": "37040044",
"country": "DE",
"coverage": "full",
"iban": "DE89370400440532013000",
"reachable": true,
"sepa_reachability": {
"match": "exact",
"schemes": [
"SCT",
"SCT_INST",
"SDD_B2B",
"SDD_CORE"
],
"sct": true,
"sct_inst": true,
"sdd_b2b": true,
"sdd_core": true
},
"valid": true
},
"provenance": {
"fetched_at": "2026-06-12T09:30:00Z",
"freshness": {
"as_of": "2026-06-11T00:00:00Z",
"kind": "snapshot"
},
"source": "national-bank-registries+epc-sepa-registers"
}
},
"schema": {
"properties": {
"data": {
"properties": {
"bank": {
"properties": {
"bic": {
"description": "ISO 9362 Business Identifier Code (BIC/SWIFT) of the account's bank",
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
},
"required": [
"bic",
"name"
],
"type": [
"object",
"null"
]
},
"bank_code": {
"type": [
"string",
"null"
]
},
"branch_code": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"coverage": {
"description": "Registry coverage for the IBAN's country: 'full' (complete national registry — an unknown bank means the account is likely unreachable), 'partial' (curated registry of major FR/GB/PT banks — an unknown bank is unknowable, so reachable stays null rather than a false negative), or 'structure_only' (country not in any registry — only IBAN structure is checked)",
"type": [
"string",
"null"
]
},
"iban": {
"type": "string"
},
"issue": {
"description": "Diagnostic code when 'valid' is false — BAD_CHARACTERS, BAD_LENGTH, BAD_FORMAT, BAD_CHECKSUM, UNKNOWN_COUNTRY or INVALID_BBAN; null when the IBAN is valid",
"type": [
"string",
"null"
]
},
"reachable": {
"description": "Whether the bank is reachable for at least one SEPA scheme (see sepa_reachability)",
"type": [
"boolean",
"null"
]
},
"sepa_reachability": {
"properties": {
"match": {
"type": "string"
},
"schemes": {
"items": {
"type": "string"
},
"type": "array"
},
"sct": {
"description": "Reachable for SEPA Credit Transfer (SCT); null when the BIC is unknown to the EPC registry",
"type": "boolean"
},
"sct_inst": {
"description": "Reachable for SEPA Instant Credit Transfer (SCT Inst); null when unknown",
"type": "boolean"
},
"sdd_b2b": {
"description": "Reachable for SEPA Direct Debit B2B (SDD B2B); null when unknown",
"type": "boolean"
},
"sdd_core": {
"description": "Reachable for SEPA Direct Debit Core (SDD Core); null when unknown",
"type": "boolean"
}
},
"required": [
"match",
"schemes",
"sct",
"sct_inst",
"sdd_b2b",
"sdd_core"
],
"type": [
"object",
"null"
]
},
"valid": {
"description": "Whether the IBAN passed structural and checksum (ISO 7064 mod-97) validation",
"type": "boolean"
}
},
"required": [
"bank",
"bank_code",
"country",
"coverage",
"iban",
"reachable",
"sepa_reachability",
"valid"
],
"type": "object"
},
"provenance": {
"properties": {
"fetched_at": {
"type": "string"
},
"freshness": {
"properties": {
"as_of": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"required": [
"as_of",
"kind"
],
"type": "object"
},
"source": {
"description": "Names the reference data actually served: 'national-bank-registries' alone, or 'national-bank-registries+epc-sepa-registers' when the response carries a non-null sepa_reachability block. In the composite case provenance.freshness.as_of is the OLDEST of the two snapshot dates: a composite is never fresher than its oldest input.",
"type": "string"
}
},
"required": [
"fetched_at",
"freshness",
"source"
],
"type": "object"
}
},
"required": [
"data",
"provenance"
],
"type": "object"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"properties": {
"iban": {
"description": "IBAN to verify, any SEPA or non-SEPA country; spaces are tolerated",
"type": "string"
}
},
"required": [
"iban"
],
"type": "object"
},
"schema": {
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"resource": {
"description": "Before your agent pays a new bank account: validate the IBAN (all countries), resolve its bank and BIC from national bank registries, and check SEPA reachability per scheme (SCT, SCT Inst, SDD Core/B2B) against the EPC register",
"mimeType": "application/json",
"url": "https://api.invoket.com/iban/resolve"
},
"x402Version": 2
}
Request headers
{
"accept": "*/*",
"user-agent": "Fetch402Bot/0.1 (+https://fetch402.com/crawler; contact: crawler@fetch402.com)"
}
Machine contract
Schemas.
InputJSON
{
"headers": {
"accept": "application/json"
},
"method": "GET",
"queryParams": {
"iban": "DE89370400440532013000"
},
"schema": {
"properties": {
"iban": {
"description": "IBAN to verify, any SEPA or non-SEPA country; spaces are tolerated",
"type": "string"
}
},
"required": [
"iban"
],
"type": "object"
},
"type": "http"
}
OutputJSON
{
"example": {
"data": {
"bank": {
"bic": "COBADEFFXXX",
"name": "Commerzbank"
},
"bank_code": "37040044",
"country": "DE",
"coverage": "full",
"iban": "DE89370400440532013000",
"reachable": true,
"sepa_reachability": {
"schemes": [
"SCT",
"SCT_INST",
"SDD_B2B",
"SDD_CORE"
],
"sct": true,
"sct_inst": true,
"sdd_b2b": true,
"sdd_core": true
},
"valid": true
},
"provenance": {
"fetched_at": "2026-06-12T09:30:00Z",
"freshness": {
"as_of": "2026-06-11T00:00:00Z",
"kind": "snapshot"
},
"source": "national-bank-registries"
}
},
"schema": {
"properties": {
"data": {
"properties": {
"bank": {
"properties": {
"bic": {
"description": "ISO 9362 Business Identifier Code (BIC/SWIFT) of the account's bank",
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"bic",
"name"
],
"type": "object"
},
"bank_code": {
"type": "string"
},
"country": {
"type": "string"
},
"coverage": {
"description": "Registry coverage for the IBAN's country: 'full' (complete national registry — an unknown bank means the account is likely unreachable), 'partial' (curated registry of major FR/GB/PT banks — an unknown bank is unknowable, so reachable stays null rather than a false negative), or 'structure_only' (country not in any registry — only IBAN structure is checked)",
"type": "string"
},
"iban": {
"type": "string"
},
"reachable": {
"description": "Whether the bank is reachable for at least one SEPA scheme (see sepa_reachability)",
"type": "boolean"
},
"sepa_reachability": {
"properties": {
"schemes": {
"items": {
"type": "string"
},
"type": "array"
},
"sct": {
"description": "Reachable for SEPA Credit Transfer (SCT); null when the BIC is unknown to the EPC registry",
"type": "boolean"
},
"sct_inst": {
"description": "Reachable for SEPA Instant Credit Transfer (SCT Inst); null when unknown",
"type": "boolean"
},
"sdd_b2b": {
"description": "Reachable for SEPA Direct Debit B2B (SDD B2B); null when unknown",
"type": "boolean"
},
"sdd_core": {
"description": "Reachable for SEPA Direct Debit Core (SDD Core); null when unknown",
"type": "boolean"
}
},
"required": [
"schemes",
"sct",
"sct_inst",
"sdd_b2b",
"sdd_core"
],
"type": "object"
},
"valid": {
"description": "Whether the IBAN passed structural and checksum (ISO 7064 mod-97) validation",
"type": "boolean"
}
},
"required": [
"bank",
"bank_code",
"country",
"coverage",
"iban",
"reachable",
"sepa_reachability",
"valid"
],
"type": "object"
},
"provenance": {
"properties": {
"fetched_at": {
"type": "string"
},
"freshness": {
"properties": {
"as_of": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"required": [
"as_of",
"kind"
],
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"fetched_at",
"freshness",
"source"
],
"type": "object"
}
},
"required": [
"data",
"provenance"
],
"type": "object"
},
"type": "json"
}