# Agent Risk Desk – NEAR Allowance Vault Receipt Verifier

> Agent Risk Desk – NEAR Allowance Vault Receipt Verifier is a paid API for AI agents from x402-services.soldano.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-11-01).

Verifies that a NEAR Allowance vault receipt paid a specified account at least a given amount, bound to the seller's request hash, at final finality, returning valid or a specific failure reason plus the vault code hash.

## Facts

- Endpoint: POST https://x402-services.soldano.workers.dev/v1/receipt/verify-near?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-risk-desk-near-allowance-vault-receipt-verifier-de8ac7fe
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ROMqCqdoCc3fQqKuOed84

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 agent-risk-desk-near-allowance-vault-receipt-verifier-de8ac7fe -d '<json body>'
```

Example prompt: Check whether NEAR vault receipt #42 from vault 'myvault.near' on mainnet actually paid 'myshop.near' at least 1000000000000000000000000 yoctoNEAR and is properly bound to my seller nonce 'order-abc-123'.

## When to prefer this

Use this endpoint when you need server-side, final-finality verification of a NEAR Allowance vault receipt in an x402 seller flow — specifically when you need to confirm payee identity, minimum amount, asset type, and binding to a seller request hash in a single call. Prefer this over building your own NEAR RPC queries when you want a human-readable failure reason and the vault code hash in one response without managing NEAR node connections yourself.

## Known failure modes

- Receipt not yet at final finality — returns 'not paid yet'
- Wrong payee — receipt paid a different account than specified
- Amount too low — paid amount is below the specified minAmount
- Wrong asset — payment used a different token than requested
- Request hash mismatch — receipt not bound to the provided nonce/requestHash
- Unknown receipt ID — vault does not recognise the receiptId
- Not a vault — the vault account is not an Allowance vault contract
- Invalid NEAR account ID format — pattern validation failure on vault or payee
- Network mismatch — testnet vault queried as mainnet or vice versa

## How this service works

Seller-side check that an Allowance vault receipt on NEAR paid a given account at least a given amount, bound to the seller request hash, at final finality. Returns valid or the reason (not paid yet, wrong payee, amount, asset or request, unknown receipt, not a vault) and the vault code hash read at the same block.

## Output

A JSON response indicating whether the receipt is valid or, if not, the specific reason (e.g. not paid yet, wrong payee, wrong amount, wrong asset, wrong request hash, unknown receipt, or not a vault contract), along with the vault's code hash read at the same block height used for verification.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "asset": {
   "anyOf": [
    {
     "type": "string",
     "const": "near"
    },
    {
     "type": "object",
     "required": [
      "ft"
     ],
     "properties": {
      "ft": {
       "type": "string",
       "pattern": "^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$",
       "maxLength": 64,
       "minLength": 2,
       "description": "NEAR account id, e.g. alice.near or a 64-hex implicit account"
      }
     }
    }
   ],
   "description": "\"near\" (default) or {\"ft\": \"<NEP-141 token contract>\"}"
  },
  "nonce": {
   "type": "string",
   "maxLength": 256,
   "description": "alternative to requestHash: the nonce the seller issued; the hash is computed server-side"
  },
  "payee": {
   "type": "string",
   "pattern": "^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$",
   "maxLength": 64,
   "minLength": 2,
   "description": "the account that must have been paid (usually the seller itself)"
  },
  "vault": {
   "type": "string",
   "pattern": "^(([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+$",
   "maxLength": 64,
   "minLength": 2,
   "description": "Allowance vault account that issued the receipt"
  },
  "network": {
   "enum": [
    "mainnet",
    "testnet"
   ],
   "type": "string",
   "description": "NEAR network; default: testnet for *.testnet accounts, mainnet otherwise"
  },
  "minAmount": {
   "type": "string",
   "pattern": "^\\d{1,40}$",
   "description": "minimum amount in base units: yoctoNEAR, or the token smallest unit when asset is an ft"
  },
  "receiptId": {
   "type": "integer",
   "maximum": 9007199254740991,
   "minimum": 0,
   "description": "receipt id returned by the vault pay call"
  },
  "requestHash": {
   "type": "string",
   "description": "base64(sha256(utf8(nonce))): the 32-byte request hash the receipt must carry"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-risk-desk-near-allowance-vault-receipt-verifier-de8ac7fe/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-services.soldano.workers.dev](https://www.zero.xyz/host/x402-services.soldano.workers.dev/llms.txt)
