← oblique.markets · all endpoints

POST /api/v1/paid/b402-preflight — $0.01 per call

Use when an agent needs b402 preflight. Returns Validate BNB/B402 payment intent freshness, recipient, amount, deadline, fee cap, public BNB balance, and recent activity without custody or payment relay. $0.01.

Price$0.01 per call (10000 atomic USDC, scheme exact)
Categorychain-data
Railsx402 · USDC on Base (eip155:8453) and Solana · MPP pathUSD on Tempo
Canonical URLhttps://api.oblique.markets/api/v1/paid/b402-preflight

Try it

curl -i https://api.oblique.markets/api/v1/paid/b402-preflight
# → HTTP 402 with the exact payment requirements; pay, then retry with PAYMENT-SIGNATURE (x402) or Authorization: Payment (MPP)

Input schema

{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "additionalProperties": false,
 "properties": {
  "payer": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$"
  },
  "recipient": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$"
  },
  "asset": {
   "type": "string",
   "description": "native/BNB or a BEP-20 contract address"
  },
  "amount": {
   "type": "string",
   "pattern": "^[0-9]+(?:\\.[0-9]+)?$"
  },
  "chain": {
   "type": "string",
   "enum": [
    "bnb",
    "bnb-smart-chain",
    "eip155:56",
    "56"
   ]
  },
  "deadline": {
   "type": [
    "string",
    "integer"
   ],
   "description": "ISO-8601 timestamp or Unix seconds"
  },
  "fee_cap": {
   "type": "string",
   "pattern": "^[0-9]+(?:\\.[0-9]+)?$",
   "description": "Maximum network fee in BNB"
  },
  "intent_id": {
   "type": "string",
   "minLength": 1,
   "maxLength": 128
  }
 },
 "required": [
  "payer",
  "recipient",
  "asset",
  "amount",
  "chain",
  "deadline",
  "fee_cap",
  "intent_id"
 ]
}

Example output

{
 "decision": "ready",
 "intent_id": "invoice-2026-08-21-001",
 "intent_hash": "sha256:9c2d7b3f6e1a4c8b0d2e5f7a9b1c3d5e7f9a1b3c5d7e9f1a3b5c7d9e1f3a5b7c9",
 "chain": "eip155:56",
 "payer": "0x1111111111111111111111111111111111111111",
 "recipient": "0x2222222222222222222222222222222222222222",
 "recipient_valid": true,
 "asset": "BNB",
 "amount": "0.01",
 "amount_units": "10000000000000000",
 "asset_balance": "0.125",
 "fee_cap_bnb": "0.0005",
 "fee_headroom_bnb": "0.1245",
 "fee_cap_sufficient": true,
 "recent_activity": {
  "latest_block": 61500000,
  "lookback_blocks": 2000,
  "outgoing_transfer_count": 3,
  "incoming_transfer_count": 5,
  "nonce": 42
 },
 "evidence_source": "public_bsc_rpc",
 "evidence_hash": "sha256:4e8f1a2c6d8b0f2e4a6c8e0f2a4c6e8f0a2c4e6f8a0b2c4d6e8f0a2c4e6f8a0b2",
 "timestamp": "2026-08-21T20:00:00.000Z",
 "signature": "hmac-sha256:7a4e1c9b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1a3c5e7b9d1f3a5c7e9b1d3f5a7",
 "signing_key_id": "b402-preflight-v1"
}

Clients

Worked TypeScript/Python clients and MCP configs: oblique-markets/oblique-examples · Agent Skills: oblique-markets/skills

Pay per call with x402 (USDC on Base or Solana) or MPP (pathUSD on Tempo). No accounts. Machine doors: /.well-known/x402.json · /openapi.json · /llms-full.txt · MCP · humans: remote.observer