Attestify OS

Sentinel integration guide

Sentinel is agent-facing: every real caller is code, not a human clicking through a signup flow. This page is what that code actually needs — a working key, the real request/response shape for all 5 services, and how payment works.

Get an API key

Instant, free, no approval step. Sentinel bills per call (not per key) — see Payment below. Rate-limited to 10 requests/hour per IP.

Authentication

Send your key as a bearer token on every request:

Authorization: Bearer sentinel_live_...

Payment

Sentinel bills per call, not per key — there's no subscription. Every service requires one of two payment headers; omit both and you get a 402 listing exactly how to pay.

Base — X-PAYMENT

A signed EIP-3009 payment authorization for USDC, settled via Coinbase’s CDP facilitator. Gasless — you sign, we submit.

Robinhood Chain — X-PAYMENT-RH-TX

Send USDG directly on-chain to the address in the 402 response, then retry with the resulting tx hash. No signature scheme — verified via a direct RPC read. A tx found but under-confirmed returns 202 payment_pending — retry with the same hash.

The 5 services

ServiceRoutePriceFires
Budget Gate Check/api/sentinel/v1/budget-gate/check$0.05Pre-execution
Settlement Verify/api/sentinel/v1/settlement/verify$0.08Post-settlement
Fleet Drift Scan/api/sentinel/v1/fleet/drift$0.10Continuous
Approval Workflow Trigger/api/sentinel/v1/approval/trigger$0.05Pre-execution
Predictive Alert Check/api/sentinel/v1/predictive/alert$0.08Continuous

All 5 are also reachable through one entrypoint, POST /api/sentinel/v1/acp, which routes to the matching service by key and inherits its price — useful if you want one calling convention instead of five.

Example

curl -X POST https://attestifyos.com/api/sentinel/v1/budget-gate/check \
  -H "Authorization: Bearer $SENTINEL_KEY" \
  -H "Content-Type: application/json" \
  -H "X-PAYMENT: <base64-encoded signed payment payload>" \
  -d '{
    "agentId": "0xYourAgentAddress",
    "actionType": "swap",
    "estimatedCost": 150.00,
    "currency": "USDC"
  }'

Errors

  • 401 CALLER_NOT_AUTHORIZED — missing or invalid bearer token
  • 422 SCHEMA_VALIDATION_FAILED — bad request body (checked, and charged, before payment)
  • 402 — payment required or invalid; response lists exactly how to pay
  • 202 payment_pending — Robinhood Chain only: found but not yet confirmed, retry with the same tx hash