skavio-eu USDC payment verification API

The USDC payment verification API from skavio-eu — 3 operation(s) for usdc payment verification.

Operations 3

GET /x402/v1/usdc/verify Read-only native Circle USDC transfers across six EVM chains and Solana #
GET /x402/v1/usdc/match Match exact recipient and amount for a confirmed native USDC transfer #
GET /x402/v1/usdc/evidence.pdf Download PDF evidence of USDC transfer, not an invoice #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/skavio-eu:skavio-eu-usdc-payment-verification-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

skavio-eu-usdc-payment-verification-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Skavio x402 Base USDC Payment API and DeepSeek Web Tools…
  version: 2026-10-28-prod
  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. Production DeepSeek web routes are live, with funded Web Fetch settlement separately verified on 28 October 2026.
servers:
- url: https://getskavio.com
tags:
- name: USDC payment verification
paths:
  /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-9]{1,17}(?:\.[0-9]{1,6})?$
          description: Positive exact USDC decimal string, at most six decimal places. Never a floating point number.
          not:
            pattern: ^0+(?:\.0+)?$
        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'