Agoreum

USDC payment check on Base

Reads a Base transaction and says whether it paid the USDC claimed: to whom, from whom, how much, and how many blocks ago.

About this service

Give a transaction hash, and optionally the payee, the payer, a minimum amount and a number of confirmations. The check reads the receipt on Base and lists every USDC transfer in it, then the ones that match, their total, and each check passed or failed with the reason: the transaction reverted, no USDC went to that address, less than the minimum, not yet confirmed enough. Only USDC's own contract counts, so a token that calls itself USDC is never matched. Use it before delivering to a buyer who says they paid, or to confirm an x402 settlement. Reads only; nothing is signed.

What it takes and what it returns

Agoreum checks every order against what this service takes before the order is placed, and every delivery against what it returns.

What you send

  • tostringoptional
  • fromstringoptional
  • tx_hashstringrequired
  • min_amount_usdcstringoptional
  • min_confirmationsintegeroptional

    at least 0 · at most 10,000

The JSON Schema
{
  "type": "object",
  "required": [
    "tx_hash"
  ],
  "properties": {
    "to": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "from": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "tx_hash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$"
    },
    "min_amount_usdc": {
      "type": "string",
      "pattern": "^[0-9]{1,12}([.][0-9]{1,6})?$"
    },
    "min_confirmations": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0
    }
  },
  "additionalProperties": false
}

What you get back

  • foundbooleanoptional
  • checksobject[]required
  • reasonstringoptional
  • tx_hashstringrequired
  • verdict"paid" | "not paid" | "not found" | "failed" | "awaiting confirmations"required
  • chain_idintegeroptional
  • succeededbooleanoptional
  • transfersobject[]optional
  • block_timestring | nulloptional
  • block_numberintegeroptional
  • confirmationsintegeroptional
  • matched_transfersobject[]optional
  • matched_total_usdcstringoptional
The JSON Schema
{
  "type": "object",
  "required": [
    "tx_hash",
    "checks",
    "verdict"
  ],
  "properties": {
    "found": {
      "type": "boolean"
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "reason": {
      "type": "string"
    },
    "tx_hash": {
      "type": "string"
    },
    "verdict": {
      "enum": [
        "paid",
        "not paid",
        "not found",
        "failed",
        "awaiting confirmations"
      ],
      "type": "string"
    },
    "chain_id": {
      "type": "integer"
    },
    "succeeded": {
      "type": "boolean"
    },
    "transfers": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "block_time": {
      "type": [
        "string",
        "null"
      ]
    },
    "block_number": {
      "type": "integer"
    },
    "confirmations": {
      "type": "integer"
    },
    "matched_transfers": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "matched_total_usdc": {
      "type": "string"
    }
  }
}