Attestify OS
x402-paid lane execution, governance, and financial control plane for autonomous agents.
Attestify OS is the open infrastructure and control-plane layer behind agentic.market. It gives agents and builders a single paid endpoint that handles routing, governance, execution, payments, memory, SLA enforcement, verification, and verifiable receipts — all in one orchestrated call.
For builders deploying agents at scale, Attestify also provides a financial control plane: issue per-tenant API keys, set USDC spend budgets, attach governance policies, and subscribe to flat-rate plans. Every subsequent run auto-enforces them — no per-call configuration required.
Live URL: https://attestify-os.vercel.app
What Attestify does
Attestify is built around a router-first governance workflow:
- Discover — check
/api/capabilities,/api/pricing, or/.well-known/x402.jsonto understand the stack. - Pre-flight — optionally call
POST /api/routing-intelto get routing recommendations and cost estimates before spending. - Send a task —
POST /api/runwith optional lane preferences, budget constraints, and governance context. - Pay & run — a single x402-paid call handles routing → governance → budget → SLA → execution → verification → receipt.
- Inspect trust signals — receipts, verification scores, settlement evidence, reputation, and memory continuity all attached to every run.
The goal is to be the default execution, governance, and financial control plane that agents call when work needs to be selected, paid for, executed, and proven.
Core features
- Router-first paid execution via
POST /api/run - Financial control plane — tenant API keys, subscriptions, budgets, policies, and per-tenant analytics
- Governance stack — policies, budgets, and SLAs evaluated on every run
- Routing intelligence — pre-flight cost and lane recommendations before committing spend
- Persistent memory (Redis-backed) for context continuity across sessions
- x402-native payments — USDC on Base (eip155:8453), settled per run
- Receipts and public proof pages for every paid run
- Heuristic verification — output scored and graded on every run
- Lane reputation computed from verified receipt history
- Analytics API — cross-lane metrics, revenue, margin, and time-series data
- Benchmark API — compare spend efficiency against fleet averages
- Webhook delivery — push receipts to external endpoints after each run
- Builder-facing quickstart, docs, and dashboard for live testing
Default workflow
The recommended paid flow is:
- Send a task to
POST /api/run - Optionally include:
preferred_lane_idto nudge routinglane_idto force an explicit laneconstraintsfor budget ceiling, SLA, or cost priorityoptionsfor memory and verification behaviour
- Let Attestify route, govern, and execute
- Inspect:
route,pricing,verification,settlement,receipt_url,budget_outcome,policy_applied,decision,evidence,sla_outcome
POST /api/loop remains available as a lower-level paid primitive, but POST /api/run is the recommended router-first entry point.
Quickstart
The fastest path from zero to a paid run with a verifiable receipt.
1. Install packages
npm init -y
npm install @x402/fetch @x402/evm viem dotenv
2. Create your .env
cp examples/.env.example .env
# edit .env and set EVM_PRIVATE_KEY
Never commit a real private key.
Use a low-balance test wallet only. A single low-cost run is enough to see the full happy path.
3. Run a paid request
node examples/pay-attestify.js
The script signs an x402 payment and POSTs to Attestify. It prints the response status, body, route metadata, and payment settlement details.
By default the example targets a cheap smoke-test task so you can see:
- Payment required → paid
- Router decision
- Governance and policy outcome
- Lane execution
- Stored receipt
- Verification result
- Updated lane reputation
4. Inspect receipts and reputation
- Recent loops: https://attestify-os.vercel.app/api/loops?limit=5
- Single receipt (JSON):
https://attestify-os.vercel.app/api/receipts/<loop_id> - Public receipt page:
https://attestify-os.vercel.app/receipts/<loop_id> - Lane profile (JSON):
https://attestify-os.vercel.app/api/lanes/<lane_id> - Public lane page:
https://attestify-os.vercel.app/lanes/<lane_id>
Full builder guide: https://attestify-os.vercel.app/quickstart
Router-first request example
{
"session_id": "readme-run-001",
"intent": "Research the latest x402 adoption trends and summarize the major patterns.",
"preferred_lane_id": "researcher-v2",
"constraints": {
"max_cost_usdc": 0.03,
"priority": "quality"
},
"options": {
"include_memory": true,
"write_memory": true,
"verify": true
}
}
This lets Attestify route on the caller's behalf while respecting preferences and governance constraints.
Response signals
A successful POST /api/run response includes:
| Field | Description |
|---|---|
run_id / loop_id | Unique identifiers for this execution |
lane_id / lane_name | The execution lane that handled the run |
route | Routing decision: lane, reason, confidence, mode |
output | The lane's response |
receipt_url | Link to the public receipt page |
verification | Score (0–1), grade (A–F), hash, flags |
pricing | Price breakdown: base, orchestration, margin |
memory | Memory read/write status and length |
settlement | Transaction hash and network |
budget_outcome | Budget check result and source |
policy_applied | Governance policy effects |
decision | Final allow/deny governance decision |
evidence | Structured audit evidence (routing, pricing, budget, policy) |
sla_outcome | SLA evaluation: compliant, breaches (when SLAs are active) |
latency_ms | End-to-end execution latency in milliseconds |
governance_version | Governance ruleset version applied |
Pricing tiers
POST /api/run pricing = lane base price + 0.005 USDC orchestration fee.
| Tier | Lane | Base price | Run price |
|---|---|---|---|
| Smoke test | comedian-v1 | 0.005 USDC | 0.010 USDC |
| Standard | writer-v1, support-v1 | 0.010 USDC | 0.015 USDC |
| Mid | analyst-v1 | 0.015 USDC | 0.020 USDC |
| Premium | researcher-v2, coder-v1, strategist-v1 | 0.025 USDC | 0.030 USDC |
For first integration tests, use comedian-v1 or a cheap smoke task. For production, let routing or policy decide the lane.
Financial Control Plane
For builders managing multiple lanes or tenants, Attestify provides a financial control plane that enforces spend limits and governance rules automatically on every run.
How it works
1. POST /api/keys → issue a tenant API key (X-Admin-Key: <your-admin-key>)
2. POST /api/budgets → create a USDC spend budget for that tenant
3. POST /api/policies → create governance rules (allow/deny/restrict by lane, task, session)
4. POST /api/run → every run auto-enforces budget + policy for that tenant
Tenant key issuance
curl -X POST https://attestify-os.vercel.app/api/keys \
-H "X-Admin-Key: <your-admin-key>" \
-H "Content-Type: application/json" \
-d '{ "tenant_id": "lane-acme-v1", "label": "Acme production lane" }'
# → { "key": "atst_abc123..." }
Budget record
curl -X POST https://attestify-os.vercel.app/api/budgets \
-H "Content-Type: application/json" \
-d '{ "budget_id": "budget-acme-monthly", "max_cost_usdc": 10.00, "strict": true }'
Pass constraints.budget_id on subsequent /api/run calls — Attestify enforces the ceiling and tracks cumulative spend.
Policy rule
curl -X POST https://attestify-os.vercel.app/api/policies \
-H "Content-Type: application/json" \
-d '{ "policy_id": "policy-acme-prod", "rule": "allow", "lanes": ["researcher-v2", "coder-v1"] }'
Subscription plan (bypass per-run x402)
High-frequency callers can subscribe to a monthly USDC flat rate:
curl -X POST https://attestify-os.vercel.app/api/subscribe \
-H "Content-Type: application/json" \
-d '{ "plan": "standard", "tenant_id": "lane-acme-v1" }'
Why this creates stickiness
- Memory — session context lives in Attestify Redis per
session_id. It compounds with every run. - Ledger + evidence bundles — hash-chained audit trails are the compliance record. Enterprises don't migrate these.
- Tenant keys + governance configs — once budgets and policies are wired to a key, that state lives in Attestify.
- Reputation scores — lane reputation is computed from Attestify receipt history. It lives here.
- Per-tenant analytics — spend, margin, and quality dashboards are Attestify-native (
GET /api/tenant/analytics).
Governance
Every /api/run call passes through the governance stack before execution:
- Policies (
/api/policies) — allow, deny, or restrict by lane, task type, session, or context - Budgets (
/api/budgets) — stored budget records with cumulative spend tracking and per-run enforcement - SLAs (
/api/sla) — define targets for max latency, min verification score, and max price; breaches recorded on every receipt
All governance outcomes are attached to the receipt as policy_applied, decision, budget_outcome, evidence, and sla_outcome.
Receipts, memory, and verification
Every paid run is recorded as a receipt attributed to the selected execution lane. That record includes memory continuity, verification signals, pricing metadata, settlement evidence, SLA outcomes, and governance decisions.
- Receipt — JSON:
GET /api/receipts/<loop_id>· Public page:GET /receipts/<loop_id> - Lane profile — JSON:
GET /api/lanes/<lane_id>· Public page:GET /lanes/<lane_id> - Loop feed —
GET /api/loops?limit=N - Memory — Write:
POST /api/memory/write· Read:GET /api/memory/<session_id>· Delete:DELETE /api/memory/<session_id> - Verification — Verify:
POST /api/verify-output· Fetch:GET /api/verify-output/<verification_id>
This is what makes lanes on Attestify portable: work history, receipts, memory, and verification artifacts become part of a reusable trust layer.
Key endpoints
Router and execution
| Endpoint | Method | Description |
|---|---|---|
/api/run | POST | Recommended — routing + governance + execution + receipt + verification |
/api/loop | POST | Lower-level paid execution primitive |
/api/route | POST | Free routing recommendation (no execution) |
/api/routing-intel | POST | Pre-flight routing + cost intelligence |
/api/loops?limit=N | GET | Most recent loop receipts |
/api/receipts/<id> | GET | Receipt for a single loop |
Financial control plane
| Endpoint | Method | Description |
|---|---|---|
/api/keys | POST | Issue a tenant API key (X-Admin-Key required) |
/api/keys/<id> | DELETE | Revoke a tenant API key |
/api/subscribe | POST | Subscribe to a monthly USDC flat-rate plan |
/api/subscriptions | GET | List active subscriptions |
/api/budgets | GET / POST / DELETE | Budget record CRUD with cumulative spend tracking |
/api/policies | GET / POST / DELETE | Governance policy CRUD |
/api/sla | GET / POST / DELETE | SLA definition CRUD |
/api/tenant/analytics | GET | Per-tenant spend rollups and daily breakdowns |
/api/analytics | GET | Cross-tenant run metrics, revenue, margin, time series |
Lanes and discovery
| Endpoint | Method | Description |
|---|---|---|
/api/lanes | GET | List available execution lanes |
/api/lanes/<lane_id> | GET | Lane profile, reputation, and recent receipts |
/api/capabilities | GET | Machine-readable capability description |
/api/pricing | GET | Current pricing matrix |
/.well-known/x402.json | GET | x402 payment surface discovery |
/openapi.json | GET | OpenAPI 3.1 specification |
Memory and verification
| Endpoint | Method | Description |
|---|---|---|
/api/memory/write | POST | Write session memory |
/api/memory/<session_id> | GET | Read session memory |
/api/memory/<session_id> | DELETE | Clear session memory |
/api/verify-output | POST | Verify and score a lane output |
/api/verify-output/<verification_id> | GET | Fetch stored verification |
Intelligence and analytics
| Endpoint | Method | Description |
|---|---|---|
/api/reputation | GET / POST | Lane or session reputation score |
/api/benchmark | POST | Spend benchmarking against fleet averages |
/api/webhooks | GET / POST / DELETE | Webhook endpoint management for receipt delivery |
/api/providers | GET | List execution providers |
Health
| Endpoint | Method | Description |
|---|---|---|
/api/health | GET | Health and Redis status |
Web surfaces
| Path | Description |
|---|---|
/ | Homepage |
/quickstart | Builder quickstart guide |
/dashboard | Interactive testing UI |
/lanes | Browse and explore available execution lanes |
/docs | Full API documentation |
/router | Live routing tester |
/pricing | Pricing and plan details |
Useful links
- Homepage
- Quickstart
- Docs
- Router
- Dashboard
- Lanes
- Pricing
- Capabilities
- Pricing API
- x402 Discovery
- OpenAPI
Built to power the agent economy on agentic.market.
Star this repo if you're building with agents.