# SignGate x402 Transaction Preflight – Agent Buyer Identity & Purchase Governance

> SignGate x402 Transaction Preflight – Agent Buyer Identity & Purchase Governance is a paid API for AI agents from base-agent-preflight.bytoken2023.workers.dev, paid per call via x402, $0.25/call, status unknown (last checked 2026-09-13).

Checks whether an AI agent's buyer identity and wallet are eligible to purchase a specific x402-priced API, dataset, or tool before committing payment.

## Facts

- Endpoint: GET https://base-agent-preflight.bytoken2023.workers.dev/v1/x402/transaction/preflight
- Price: $0.25/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signgate-x402-transaction-preflight-agent-buyer-identity-purchase-16b6c3c0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_f6d_8RM7MLfjYubtNA1MI

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 signgate-x402-transaction-preflight-agent-buyer-identity-purchase-16b6c3c0
```

Example prompt: Before you pay the x402 fee to that data API at merchant address 0xAbC123...def456, run a preflight check using my wallet 0x789...abc and expected amount 0.25 to make sure my buyer identity passes and the risk score is low.

## When to prefer this

Use this endpoint when an AI agent is about to autonomously execute an x402 micropayment and you need a governance gate — specifically to validate buyer identity fitness, policy compliance, and risk before committing funds. Prefer this over generic allowance checks when the product category, sensitivity, or price tier requires structured approval policy enforcement. Best suited for agentic pipelines where spending decisions must be auditable.

## Known failure modes

- Missing required merchant_address query parameter returns a validation error
- Invalid Ethereum address format (not matching 0x[40 hex chars]) causes parameter rejection
- Unrecognized wallet or merchant on-chain may return incomplete identity/provenance data
- Network congestion or RPC errors may cause slow or failed on-chain lookups
- High risk_score or non-empty flags array means the purchase should not proceed
- Service unavailable on Cloudflare Worker edge returns HTTP 5xx

## How this service works

Machine-payable service intelligence for discovering, verifying, and monitoring identity, risk, authorization, execution-preflight, and evidence APIs before autonomous agents spend.

## Output

Returns a JSON object containing the network (e.g. eip155:8453 for Base), product identifier, an assessment object with a numeric risk_score, a risk_level string (e.g. 'low'), and a flags array listing any policy violations or concerns. May also include identity, activity, and provenance sub-objects describing the buyer and merchant.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "merchant_address"
     ],
     "properties": {
      "tx": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{64}$"
      },
      "owner": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{40}$"
      },
      "since": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}T.+Z$"
      },
      "token": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{40}$"
      },
      "spender": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{40}$"
      },
      "gas_limit": {
       "type": "string",
       "pattern": "^[0-9]+$"
      },
      "from_block": {
       "type": "string",
       "pattern": "^[0-9]+$"
      },
      "wallet_address": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{40}$"
      },
      "expected_amount": {
       "type": "string",
       "pattern": "^[0-9]+(?:\\.[0-9]{1,6})?$"
      },
      "contract_address": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{40}$"
      },
      "merchant_address": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{40}$"
      },
      "expected_recipient": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{40}$"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "network": {
       "type": "string"
      },
      "product": {
       "type": "string"
      },
      "activity": {
       "type": "object"
      },
      "identity": {
       "type": "object"
      },
      "assessment": {
       "type": "object"
      },
      "provenance": {
       "type": "object"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "network": "eip155:8453",
  "product": "x402-transaction-preflight",
  "assessment": {
   "flags": [],
   "risk_level": "low",
   "risk_score": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signgate-x402-transaction-preflight-agent-buyer-identity-purchase-16b6c3c0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from base-agent-preflight.bytoken2023.workers.dev](https://www.zero.xyz/host/base-agent-preflight.bytoken2023.workers.dev/llms.txt)
