# FLINT Scan

> FLINT Scan is a paid API for AI agents from flint.network, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Pre-execution security scan of an intended blockchain/crypto agent transaction, returning a signed risk decision record and an x402 payment receipt

## Facts

- Endpoint: POST https://flint.network/api/x402/scan
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/flint-scan-a16c94ea
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7PWr8J929UfMVc1376YAp

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 flint-scan-a16c94ea -d '<json body>'
```

Example prompt: Before you send that 50 USDC transfer to 0xAbC123... on base:mainnet, run it through FLINT Scan first — I want a signed risk decision confirming the transaction looks safe before it goes through.

## When to prefer this

Use FLINT Scan when an AI agent needs a cryptographically signed pre-execution risk assessment for a blockchain transaction, particularly in autonomous or semi-autonomous agent pipelines where human review is not feasible before each transaction. It is especially valuable when you need a tamper-evident audit record of the go/no-go decision, or when integrating with x402 payment flows that require proof of compliance screening. Prefer this over generic address-lookup or on-chain analytics tools when you need a signed, actionable verdict rather than raw analytics data.

## Known failure modes

- Invalid nonce (too short/long) — request rejected with validation error
- Malformed chain identifier not matching required pattern — schema validation error
- Missing required transaction fields (action, chain, amount_display, counterparty_address) — 400 error
- Payment failure for the $0.01 x402 scan fee — transaction not evaluated
- Invalid timestamp format — request rejected
- Counterparty address unresolvable or on an unsupported chain — evaluation may return inconclusive
- Passport ID provided but unrecognized — decision may not be upgraded to verified tier

## How this service works

Pay FLINT $0.01 to scan a separate intended agent transaction before it executes; returns a signed decision record and a linked x402 service-payment receipt

## Output

A signed decision record indicating whether the proposed transaction is approved, flagged, or rejected, along with a linked x402 service-payment receipt confirming the $0.01 USDC scan fee was settled. The decision record is cryptographically signed, making it suitable for audit trails and downstream authorization gates.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "nonce": {
   "type": "string",
   "maxLength": 128,
   "minLength": 8
  },
  "timestamp": {
   "type": "string",
   "format": "date-time"
  },
  "agent_claim": {
   "type": "object",
   "properties": {
    "agent_id": {
     "type": "string"
    },
    "wallet_type": {
     "type": "string"
    },
    "agent_runtime_hint": {
     "type": "string"
    }
   }
  },
  "passport_id": {
   "type": "string",
   "description": "Optional FLINT Agent Passport; a verified payer-wallet binding can upgrade the decision."
  },
  "transaction": {
   "type": "object",
   "required": [
    "action",
    "chain",
    "amount_display",
    "counterparty_address"
   ],
   "properties": {
    "chain": {
     "type": "string",
     "pattern": "^[-a-z0-9]{3,8}:[-_A-Za-z0-9]{1,32}$"
    },
    "token": {
     "type": "object",
     "properties": {
      "issuer": {
       "type": "string"
      },
      "symbol": {
       "type": "string"
      },
      "contract": {
       "type": "string"
      }
     }
    },
    "action": {
     "type": "string"
    },
    "direction": {
     "type": "string"
    },
    "reference": {
     "type": "string"
    },
    "amount_display": {
     "type": "string",
     "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,18})?$"
    },
    "counterparty_address": {
     "type": "string"
    }
   },
   "description": "The intended commerce transaction FLINT evaluates. This is not the x402 payment to FLINT."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "scan": {
   "status": "completed",
   "profile": "marketplace_basic_v1",
   "model_calls": 0,
   "record_persisted": true,
   "passport_upgraded": false,
   "external_provider_calls": 0,
   "payer_wallet_commitment": "sha256_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
   "replay_protection_status": "completed",
   "record_persistence_status": "persisted",
   "bounded_paid_path_executed": true,
   "trust_graph_ingest_attempted": true,
   "transaction_intent_commitment": "sha256_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
   "external_provider_path_executed": false
  },
  "score": 60,
  "verdict": "step_up",
  "record_id": "frv_01K3J6M2F7H8Q9R0S1T2V3W4X5",
  "record_url": "https://flint.network/records/frv_01K3J6M2F7H8Q9R0S1T2V3W4X5",
  "receipt_url": "https://flint.network/api/settlement-receipts/fsr_01K3J6M2F7H8Q9R0S1T2V3W4X6",
  "signed_record": "eyJhbGciOiJFUzI1NiJ9.record.signature",
  "service_payment": {
   "status": "settled",
   "purpose": "flint_transaction_scan_service_fee",
   "receipt_id": "fsr_01K3J6M2F7H8Q9R0S1T2V3W4X6",
   "receipt_status": "issued",
   "distinct_from_scanned_transaction": true
  },
  "receipt_page_url": "https://flint.network/receipts/fsr_01K3J6M2F7H8Q9R0S1T2V3W4X6"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/flint-scan-a16c94ea/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from flint.network](https://www.zero.xyz/host/flint.network/llms.txt)
