{"openapi":"3.1.0","info":{"title":"Skavio USDC Payment Verification — x402 API","version":"1.0.0","description":"Inspect native Circle USDC on six EVM chains and Solana. API fees settle separately in native USDC on Base via x402 v2. No custody or wallet keys. Verify inspects transfers; Match requires exactly one finalized recipient/amount match; PDF is evidence, not a tax invoice."},"paths":{"/x402/health":{"get":{"summary":"Health","operationId":"health_x402_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/x402/v1/usdc/verify":{"get":{"summary":"Read-only native Circle USDC transfers across six EVM chains and Solana.","operationId":"verify_x402_v1_usdc_verify_get","parameters":[{"name":"tx_hash","in":"query","required":true,"schema":{"type":"string","minLength":64,"maxLength":100,"pattern":"^(?:0x[0-9a-fA-F]{64}|[1-9A-HJ-NP-Za-km-z]{64,88})$","description":"Public transaction to inspect: 0x plus 64 hex characters for EVM; base58 64-byte Solana signature. Must match network."},"example":"0x98809948204426c574b6f0aabdec03baa996b5c43ce28cc9ca704fa5d07e592e"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","polygon","arbitrum","optimism","ethereum","avalanche","solana"],"default":"base","description":"Blockchain inspected; the separate API payment always settles native USDC on Base."},"example":"base"}],"responses":{"200":{"description":"Public blockchain evidence; confirmation status must be checked. Examples are illustrative.","content":{"application/json":{"schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","polygon","arbitrum","optimism","ethereum","avalanche","solana"],"default":"base","description":"Blockchain inspected; the separate API payment always settles native USDC on Base."},"chain_id":{"type":["integer","string"]},"tx_hash":{"type":"string"},"asset":{"type":"string"},"token_contract":{"type":"string"},"status":{"type":"string","enum":["confirmed","waiting_confirmations"]},"confirmations":{"type":["integer","string"]},"required_confirmations":{"type":["integer","string"]},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"checked_at":{"type":"string","format":"date-time"},"transfers":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"amount_usdc":{"type":"string"},"amount_atomic":{"type":"string","pattern":"^[0-9]+$"},"log_index":{"type":"integer"},"instruction_index":{"type":"integer"}},"required":["from","to","amount_usdc","amount_atomic"]}}},"required":["network","tx_hash","status","transfers","checked_at"]},"example":{"network":"base","chain_id":8453,"tx_hash":"0x98809948204426c574b6f0aabdec03baa996b5c43ce28cc9ca704fa5d07e592e","asset":"Native Circle USDC","token_contract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","status":"confirmed","confirmations":12,"required_confirmations":12,"block_number":1,"block_timestamp":1700000000,"checked_at":"2026-10-17T00:00:00+00:00","transfers":[]}}}},"422":{"description":"Invalid input or failed transaction."},"402":{"description":"Payment required or rejected. Decode PAYMENT-REQUIRED; no payment occurs on an unpaid request.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 PaymentRequired including Bazaar discovery.","schema":{"type":"string"}}}},"404":{"description":"Transaction not found on selected inspection chain."},"503":{"description":"RPC unavailable, reorganization or inconsistent chain evidence."}},"description":"Read-only native Circle USDC transfers across six EVM chains and Solana. First request returns HTTP 402. Authorize a compatible x402 wallet client and retry with PAYMENT-SIGNATURE. Never put keys in requests.","tags":["USDC payment verification"],"x-payment-info":{"protocol":"x402","version":2,"network":"eip155:8453","asset":"native Circle USDC","amount":"20000","price_usdc":"0.02"}}},"/x402/v1/usdc/match":{"get":{"summary":"Match exact recipient and amount for a confirmed native USDC transfer.","operationId":"match_x402_v1_usdc_match_get","parameters":[{"name":"tx_hash","in":"query","required":true,"schema":{"type":"string","minLength":64,"maxLength":100,"pattern":"^(?:0x[0-9a-fA-F]{64}|[1-9A-HJ-NP-Za-km-z]{64,88})$","description":"Public transaction to inspect: 0x plus 64 hex characters for EVM; base58 64-byte Solana signature. Must match network."},"example":"0x98809948204426c574b6f0aabdec03baa996b5c43ce28cc9ca704fa5d07e592e"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","polygon","arbitrum","optimism","ethereum","avalanche","solana"],"default":"base","description":"Blockchain inspected; the separate API payment always settles native USDC on Base."},"example":"base"},{"name":"recipient","in":"query","required":true,"schema":{"type":"string","minLength":32,"maxLength":44,"pattern":"^(?:0x[0-9a-fA-F]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$","description":"Expected recipient: EVM 0x address or Solana owner wallet, not a token account."},"example":"0x51c72848c68a965f66fa7a88855f9f7784502a7f"},{"name":"amount","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":24,"pattern":"^(?!0+(?:\\.0+)?$)[0-9]{1,17}(?:\\.[0-9]{1,6})?$","description":"Positive exact USDC decimal string, at most six decimal places. Never a floating point number."},"example":"2458.670422"}],"responses":{"200":{"description":"Public blockchain evidence; confirmation status must be checked. Examples are illustrative.","content":{"application/json":{"schema":{"type":"object","properties":{"network":{"type":"string","enum":["base","polygon","arbitrum","optimism","ethereum","avalanche","solana"],"default":"base","description":"Blockchain inspected; the separate API payment always settles native USDC on Base."},"chain_id":{"type":["integer","string"]},"tx_hash":{"type":"string"},"asset":{"type":"string"},"token_contract":{"type":"string"},"status":{"type":"string","enum":["confirmed","waiting_confirmations"]},"confirmations":{"type":["integer","string"]},"required_confirmations":{"type":["integer","string"]},"block_number":{"type":"integer"},"block_timestamp":{"type":"integer"},"checked_at":{"type":"string","format":"date-time"},"matched":{"type":"boolean","description":"True only for exactly one matching transfer after required finality."},"recipient":{"type":"string"},"amount_usdc":{"type":"string"},"matching_transfers":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"amount_usdc":{"type":"string"},"amount_atomic":{"type":"string","pattern":"^[0-9]+$"},"log_index":{"type":"integer"},"instruction_index":{"type":"integer"}},"required":["from","to","amount_usdc","amount_atomic"]}}},"required":["network","tx_hash","status","matched","recipient","amount_usdc","matching_transfers","checked_at"]},"example":{"network":"base","chain_id":8453,"tx_hash":"0x98809948204426c574b6f0aabdec03baa996b5c43ce28cc9ca704fa5d07e592e","asset":"Native Circle USDC","token_contract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","status":"confirmed","confirmations":12,"required_confirmations":12,"block_number":1,"block_timestamp":1700000000,"checked_at":"2026-10-17T00:00:00+00:00","matched":false,"recipient":"0x51c72848c68a965f66fa7a88855f9f7784502a7f","amount_usdc":"2458.670422","matching_transfers":[]}}}},"422":{"description":"Invalid input or failed transaction."},"402":{"description":"Payment required or rejected. Decode PAYMENT-REQUIRED; no payment occurs on an unpaid request.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 PaymentRequired including Bazaar discovery.","schema":{"type":"string"}}}},"404":{"description":"Transaction not found on selected inspection chain."},"503":{"description":"RPC unavailable, reorganization or inconsistent chain evidence."}},"description":"Match exact recipient and amount for a confirmed native USDC transfer. First request returns HTTP 402. Authorize a compatible x402 wallet client and retry with PAYMENT-SIGNATURE. Never put keys in requests.","tags":["USDC payment verification"],"x-payment-info":{"protocol":"x402","version":2,"network":"eip155:8453","asset":"native Circle USDC","amount":"30000","price_usdc":"0.03"}}},"/x402/v1/usdc/evidence.pdf":{"get":{"summary":"Download PDF evidence of USDC transfer, not an invoice.","operationId":"pdf_x402_v1_usdc_evidence_pdf_get","parameters":[{"name":"tx_hash","in":"query","required":true,"schema":{"type":"string","minLength":64,"maxLength":100,"pattern":"^(?:0x[0-9a-fA-F]{64}|[1-9A-HJ-NP-Za-km-z]{64,88})$","description":"Public transaction to inspect: 0x plus 64 hex characters for EVM; base58 64-byte Solana signature. Must match network."},"example":"0x98809948204426c574b6f0aabdec03baa996b5c43ce28cc9ca704fa5d07e592e"},{"name":"network","in":"query","required":false,"schema":{"type":"string","enum":["base","polygon","arbitrum","optimism","ethereum","avalanche","solana"],"default":"base","description":"Blockchain inspected; the separate API payment always settles native USDC on Base."},"example":"base"}],"responses":{"200":{"description":"Public blockchain evidence; confirmation status must be checked. Examples are illustrative.","content":{"application/pdf":{"schema":{"type":"string","format":"binary","contentMediaType":"application/pdf"}}}},"422":{"description":"Invalid input or failed transaction."},"402":{"description":"Payment required or rejected. Decode PAYMENT-REQUIRED; no payment occurs on an unpaid request.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 PaymentRequired including Bazaar discovery.","schema":{"type":"string"}}}},"404":{"description":"Transaction not found on selected inspection chain."},"503":{"description":"RPC unavailable, reorganization or inconsistent chain evidence."}},"description":"Download PDF evidence of USDC transfer, not an invoice. First request returns HTTP 402. Authorize a compatible x402 wallet client and retry with PAYMENT-SIGNATURE. Never put keys in requests.","tags":["USDC payment verification"],"x-payment-info":{"protocol":"x402","version":2,"network":"eip155:8453","asset":"native Circle USDC","amount":"50000","price_usdc":"0.05"}}},"/x402/.well-known/x402":{"get":{"summary":"Discovery","operationId":"discovery_x402__well_known_x402_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/x402/":{"get":{"summary":"Landing","operationId":"landing_x402__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/x402/docs":{"get":{"summary":"Docs Page","operationId":"docs_page_x402_docs_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/x402/launch-status":{"get":{"summary":"Production Launch Status","operationId":"production_launch_status_x402_launch_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/x402/v1/processing/{operation}":{"patch":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing__operation__patch","parameters":[{"name":"operation","in":"path","required":true,"schema":{"type":"string","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing__operation__patch","parameters":[{"name":"operation","in":"path","required":true,"schema":{"type":"string","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing__operation__patch","parameters":[{"name":"operation","in":"path","required":true,"schema":{"type":"string","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing__operation__patch","parameters":[{"name":"operation","in":"path","required":true,"schema":{"type":"string","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing__operation__patch","parameters":[{"name":"operation","in":"path","required":true,"schema":{"type":"string","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/x402/v1/processing":{"patch":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing_patch","parameters":[{"name":"operation","in":"query","required":false,"schema":{"type":"string","default":"","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing_patch","parameters":[{"name":"operation","in":"query","required":false,"schema":{"type":"string","default":"","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing_patch","parameters":[{"name":"operation","in":"query","required":false,"schema":{"type":"string","default":"","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing_patch","parameters":[{"name":"operation","in":"query","required":false,"schema":{"type":"string","default":"","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Disabled Processing","operationId":"disabled_processing_x402_v1_processing_patch","parameters":[{"name":"operation","in":"query","required":false,"schema":{"type":"string","default":"","title":"Operation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"servers":[{"url":"https://www.skavio.eu"}]}