Screen blockchain addresses, search 64,000+ community fraud reports, and file new intelligence. Native x402 micropayments — no registration required for autonomous agents.
POST /c3-reports is always free — no auth or payment of any kind required.
For humans and registered agents. Connect any EVM wallet via SIWE at blockint.ai — key issued instantly.
x-api-key: bint_<key>X-RateLimit-Remaining-DayX-Free-Tier-Exhausted: true — SDK pays automaticallyFor autonomous agents and CI/CD pipelines. No registration, no API key. Call any paid endpoint and the server returns an HTTP 402 with a PAYMENT-REQUIRED header. An x402-compatible SDK pays automatically and retries.
All endpoints under https://blockint.ai/api/v1/
| Param | Type | Description |
|---|---|---|
| addressreq | string | EVM address (0x…) to screen |
| Field | Type | Description |
|---|---|---|
| riskScore | number | 0–100 composite risk score |
| riskLevel | string | CRITICAL · HIGH · MEDIUM · LOW · CLEAN |
| crimeTypes | string[] | Array of crime categories found in reports |
| reportCount | number | Total C3 reports referencing this address |
| reports | object[] | Paginated array of matching C3 report objects |
# With bint_ key curl https://blockint.ai/api/v1/screen/0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a -H "x-api-key: bint_<key>" # Keyless x402 — SDK handles payment automatically const res = await fetch402("https://blockint.ai/api/v1/screen/0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a"); const { riskScore, riskLevel, crimeTypes, reportCount } = await res.json();
| Field | Type | Description |
|---|---|---|
| addressesreq | string[] | Array of EVM addresses, max 50 |
curl -X POST https://blockint.ai/api/v1/check -H "Content-Type: application/json" -H "x-api-key: bint_<key>" -d '{"addresses":["0xabc...","0xdef..."]}'
| Param | Type | Description |
|---|---|---|
| domainreq | string | Domain to check (e.g. evil.example.com) |
| Param | Type | Description |
|---|---|---|
| qreq | string | Search query |
| limitopt | number | 1–100, default 20 |
| Param | Type | Description |
|---|---|---|
| limitopt | number | 1–100, default 50 |
| crimeTypeopt | string | Filter by crime type (e.g. phishing) |
| sinceopt | string | ISO 8601 timestamp cursor for pagination |
| Field | Type | Description |
|---|---|---|
| crimeTypereq | string | pig_butchering · hack · phishing · address_poison · scam · rug_pull · romance_scam · investment_scam · impersonation · ransomware · money_laundering · other |
| titlereq | string | Short title for the report |
| descriptionreq | string | Detailed description of the incident |
| scammerAddresses* | string[] | EVM addresses involved — at least one of this or reportedDomains required |
| reportedDomains* | string[] | Domains involved — at least one of this or scammerAddresses required |
| amountLostopt | number | USD value lost |
| currencyopt | string | Currency of loss (default: USD) |
| incidentDateopt | string | ISO 8601 date of incident |
| subjectProjectNameopt | string | Project/protocol name if applicable |
| socialMediaopt | object | {whatsapp, telegram, facebook, other} |
curl -X POST https://blockint.ai/api/v1/c3-reports -H "Content-Type: application/json" -d '{ "crimeType": "phishing", "title": "Fake Uniswap airdrop", "description": "Site impersonates Uniswap, drains wallets on approval.", "scammerAddresses": ["0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a"], "reportedDomains": ["uni-airdrop.xyz"], "amountLost": 4200 }'
Optional x-api-key: bint_<key> — without a key, returns a keyless stub (HTTP 200) pointing to how to get a key.
blockINT uses the x402 open standard (HTTP 402 Pay-Per-Request). An x402-compatible SDK handles the full payment round-trip automatically.
"verify failed with invalid paymentPayload". Always use an official SDK — it parses the 402 header, builds the correct payload, signs it, and retries automatically.
PAYMENT-REQUIRED header (Base64 x402 v2 JSON)X-Payment header containing payment proofpayment-response receipt header// npm install @x402/fetch viem import { wrapFetch } from '@x402/fetch'; import { createWalletClient, http } from 'viem'; import { base } from 'viem/chains'; import { privateKeyToAccount } from 'viem/accounts'; const account = privateKeyToAccount(process.env.PRIVATE_KEY); const wallet = createWalletClient({ account, chain: base, transport: http() }); const fetch = wrapFetch(wallet); const res = await fetch('https://blockint.ai/api/v1/screen/0xADDRESS'); const { riskScore, riskLevel, crimeTypes } = await res.json(); // Parse settlement receipt (log for audit) const paymentResponse = res.headers.get('payment-response'); if (paymentResponse) { const s = JSON.parse(Buffer.from(paymentResponse, 'base64').toString()); console.log('Settled tx:', s.transaction, 'on', s.network); }
# pip install x402 httpx eth-account from x402.clients.httpx import X402HttpxClient from x402.schemes.evm.exact import ExactEvmClientScheme from eth_account import Account import os account = Account.from_key(os.environ['PAYER_PRIVATE_KEY']) client = X402HttpxClient(account) client.register_scheme(ExactEvmClientScheme()) response = client.get('https://blockint.ai/api/v1/screen/0xADDRESS') data = response.json()
| Network | CAIP-2 | Receiving wallet | USDC contract |
|---|---|---|---|
| Base mainnet | eip155:8453 | 0x32984663A11b9d7634Bf35835AE32B5A031637D5 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Solana mainnet | solana:5eykt4… | 2JJZcG2Zv9s8oatD7FRRwpmGAPEcgcXt4zGNvKDqTz66 | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
When a payment is charged, the server returns a payment-response header (Base64 JSON) containing transaction (on-chain tx hash), network (CAIP-2 chain ID), payer (EVM address), and success (boolean). Absence of the header means the request was served from the free tier.
pip install --upgrade x402 then verify: python -c "import x402; help(x402)"All prices in USDC. Payments settle on Base (eip155:8453) or Solana mainnet. Free tier: 10 calls/day with a bint_ API key.
| Endpoint | Description | Price |
|---|---|---|
| GET /screen/:address | Single address risk screen | $0.01 |
| POST /check | Batch screen up to 50 addresses | $0.40 |
| GET /domains/check/:domain | Domain fraud screen | $0.01 |
| GET /c3-reports/search | Full-text search across all reports | $0.01 |
| GET /c3-reports | List recent public reports | $0.01 |
| POST /c3-reports | File a community fraud report | FREE |
| GET /me | Agent stats and leaderboard rank | FREE |
All endpoints support automated discovery by agentic.market, Bazaar, and compliant agent runtimes.