# VEA /verify — Pre-Flight Firewall for AI Agent Transactions

> VEA /verify — Pre-Flight Firewall for AI Agent Transactions is a paid API for AI agents from vea-base.onrender.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Validates an AI agent's declared transaction intent BEFORE signing, returning an Ed25519-signed PASS/BLOCK decision with confidence score and reasons.

## Facts

- Endpoint: POST https://vea-base.onrender.com/verify
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vea-verify-pre-flight-firewall-for-ai-agent-transactions-a078c1fa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Ew_htLaZINr6Ogp9FRfwg

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 vea-verify-pre-flight-firewall-for-ai-agent-transactions-a078c1fa -d '<json body>'
```

Example prompt: Before I sign this transaction, run it through VEA's pre-flight firewall — here's the intent object — and tell me whether it gets a PASS or BLOCK, how confident it is, and give me the signed receipt.

## When to prefer this

Use VEA /verify when you need a cryptographically signed, auditable pre-flight safety check on an AI agent's transaction intent before any keys are touched. It is non-custodial (holds no keys, never executes), making it suitable for zero-trust agent architectures. Prefer this over ad-hoc policy checks when you need a tamper-evident receipt, a structured PASS/BLOCK signal with confidence scoring, and x402-native micropayment billing. It is distinct from /attest (which runs post-execution) — use /verify exclusively for the pre-signing gate.

## Known failure modes

- Missing or malformed 'intent' object returns a 400 validation error
- Unpaid or underpaid x402 call returns 402 Payment Required
- Intent schema does not match expected structure — partial or empty reasons array returned
- Network timeout on render.com cold start may cause latency spike on first call
- If Ed25519 signing service is unavailable, receipt may be absent from response

## How this service works

Two calls. /verify runs BEFORE signing: allow or deny plus an Ed25519-signed receipt. /attest runs AFTER execution: did the chain do exactly what was declared? Non-custodial — VEA holds no keys and never executes. Paid per call over x402; the documented samples under /samples are free and use the same engine.

## Output

Returns a JSON object containing: a binary 'decision' field (PASS or BLOCK), a numeric 'confidence' score (0–1), an array of 'reasons' explaining the decision, an Ed25519-signed 'receipt' object for audit/proof purposes, and a 'billing' object reflecting the per-call charge. The receipt can be stored as tamper-evident proof that the pre-flight check occurred.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "intent"
 ],
 "properties": {
  "intent": {
   "type": "object"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "billing": {
   "type": "object"
  },
  "reasons": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "receipt": {
   "type": "object"
  },
  "decision": {
   "enum": [
    "PASS",
    "BLOCK"
   ],
   "type": "string"
  },
  "confidence": {
   "type": "number"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vea-verify-pre-flight-firewall-for-ai-agent-transactions-a078c1fa/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from vea-base.onrender.com](https://www.zero.xyz/host/vea-base.onrender.com/llms.txt)
