# HALOWERK x402werk Settlement Verifier

> HALOWERK x402werk Settlement Verifier is a paid API for AI agents from x402.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Verifies an on-chain settlement transaction against expected payment parameters on Base Mainnet, returning a verdict on confirmation, amount, asset, and recipient matching.

## Facts

- Endpoint: POST https://x402.halowerk.com/settlement/verify
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-x402werk-settlement-verifier-125fd8fd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FO2leshW_F3UYTUAA7Rqv

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability halowerk-x402werk-settlement-verifier-125fd8fd -d '<json body>'
```

Example prompt: Can you verify that the Base Mainnet transaction 0xabc123...def456 actually settled the expected payment — I need to know if the amount, asset, and recipient all match and how many confirmations it has?

## When to prefer this

Use this endpoint when you need to verify a specific Base Mainnet USDC settlement transaction against known expected parameters (amount, recipient, asset) as part of an x402 payment flow. Prefer this over generic blockchain explorers when you need a structured, machine-readable verdict with finality status, discrepancy details, and payment matching logic built in — especially for automating pay-per-call API access control decisions.

## Known failure modes

- Transaction not found on-chain returns verdict 'nicht_gefunden' with found=false
- Transaction pending/not yet finalized returns verdict 'nicht_final'
- Amount mismatch returns verdict 'abweichung' with underpaid_by or overpaid_by populated
- Wrong asset or recipient returns verdict 'abweichung' with asset_matches or recipient_matches as false
- Reverted transaction returns transaction_status='reverted'
- Invalid tx_hash format or unsupported chain may return error or not_found
- Network latency or RPC unavailability may cause delayed or failed lookups

## How this service works

Reads the receipt of a transaction on Ethereum, Base, Base Sepolia, OP Mainnet, Arbitrum One, Polygon PoS or Avalanche C-Chain and compares it with what you expected to be paid. The comparison runs against the ERC-20 transfer events in the receipt, not against the transaction recipient, because in a token payment the transaction recipient is the token contract and never the seller. Returns every transfer event with sender, recipient, token, raw amount and human amount computed with that token de

## Output

Returns a structured verdict object including: a boolean found flag, verdict string (bestaetigt=confirmed, abweichung=discrepancy, nicht_gefunden=not found, nicht_final=not yet final), block number, confirmation count, actual amount paid, asset/amount/recipient match booleans, list of transfer events, reason strings explaining the verdict, and overpaid/underpaid amounts if applicable.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "arb",
    "arbitrum",
    "arbitrum-one",
    "avalanche",
    "avax",
    "base",
    "base-mainnet",
    "base-sepolia",
    "basesepolia",
    "eip155:1",
    "eip155:10",
    "eip155:137",
    "eip155:42161",
    "eip155:43114",
    "eip155:8453",
    "eip155:84532",
    "eth",
    "ethereum",
    "ethereum-mainnet",
    "mainnet",
    "matic",
    "op",
    "op-mainnet",
    "optimism",
    "polygon"
   ],
   "type": "string",
   "description": "Chain of the transaction, as CAIP-2 (\"eip155:8453\"), as a short name (\"base\") or as the chain id (\"8453\")."
  },
  "tx_hash": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{64}$",
   "description": "Hash of the settlement transaction."
  },
  "expected": {
   "type": "object",
   "required": [
    "pay_to"
   ],
   "properties": {
    "asset": {
     "type": "string",
     "description": "Expected token contract address, or \"native\" for the chain coin. Omit to accept any token; asset_matches is then null."
    },
    "pay_to": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]{40}$",
     "description": "Address that was supposed to receive the payment — the seller, not the token contract."
    },
    "amount_units": {
     "type": "string",
     "pattern": "^[0-9]{1,78}$",
     "description": "Expected amount as an integer in the smallest unit of the token. Omit to skip the amount comparison; amount_matches is then null."
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-x402werk-settlement-verifier-125fd8fd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.halowerk.com](https://www.zero.xyz/host/x402.halowerk.com/llms.txt)
