AgentLedger
aiagentscity.com
Per-agent spend management: track spend across x402/MPP/API-key rails, set budget caps, get anomaly alerts, keep an audit trail.
aiagentscity.com via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
https://aiagentscity.com/.well-known/agent-card.json and the next probe clears this panel.
| Field | What we saw | What we stored |
|---|---|---|
capabilities |
Input should be a valid dictionary or instance of Capabilities | dropped — this field was not indexed |
Dispute or improve this rating
F
Conformance score: 19/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-09-19 00:04:23 current | 516d30780cb3… |
view → |
Skills · 1 declared · mapped to canonical taxonomy
Per-agent spend management: track spend across x402/MPP/API-key rails, set budget caps, get anomaly alerts, keep an audit trail.
Health · last 1 probes
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/aiagentscity.com) [](https://agenstry.com/agents/aiagentscity.com) [](https://agenstry.com/agents/aiagentscity.com) [](https://agenstry.com/agents/aiagentscity.com)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"schema_version": "1.0",
"name": "AgentLedger",
"description": "Per-agent spend management: track spend across x402/MPP/API-key rails, set budget caps, get anomaly alerts, keep an audit trail.",
"url": "https://aiagentscity.com",
"api_base": "https://aiagentscity.com/v1",
"openapi": "https://aiagentscity.com/openapi.json",
"auth": {
"type": "workspace_key",
"field": "workspace_key",
"description": "Get a workspace_key with no human at all by paying via POST /v1/billing/x402 (the paying wallet becomes the workspace identity), or by POST /start \u2014 no signup, no login, no card (GET /start renders the form only; it does not mint). NOTE: /v1/billing/x402 settles on Base MAINNET (eip155:8453) in real USDC. The paying wallet pays real money; the workspace is live immediately. Claiming a NEW agent_id requires that workspace_key in the first POST /v1/track or /v1/budget body; that call mints an agent_secret in the response \u2014 save it, every later write to that agent_id must include it and needs no workspace_key. Reads (report/alerts/tokens) require agent_secret or workspace_key, sent as X-Agent-Secret or X-Workspace-Key. A LOST agent_secret is recoverable \u2014 the workspace_key can always mint a new one at POST /v1/agents/{agent_id}/rotate-secret, so losing a credential never bricks an agent_id."
},
"pricing": {
"model": "freemium",
"amount_usd": 19.0,
"description": "Free tier is 3 agents per workspace, no expiry. Two paid paths to unlimited agents beyond that: an agent can pay via x402 itself for a time-boxed Pro pass, or a human subscribes at $19/mo for Pro with no expiry. See capabilities below for the x402 price and pass duration."
},
"capabilities": [
{
"id": "mint_workspace_x402",
"description": "Self-serve workspace + workspace_key for an agent with a wallet \u2014 no human, no login. Present an x402 payment in the X-PAYMENT header; the paying wallet becomes the workspace identity. $0.01 via x402 buys 24h of Pro (unlimited agents) on the workspace your wallet resolves to \u2014 no card, no human, pay again any time to extend it Do this first: a workspace_key is required to claim a new agent_id. settles on Base MAINNET (eip155:8453) in real USDC. The paying wallet pays real money; the workspace is live immediately. If you hold no wallet, mint at POST /start instead (no signup, no card, but capped at 3 agents; GET /start only renders the form and does not mint).",
"endpoint": "/v1/billing/x402",
"method": "POST",
"free": false
},
{
"id": "track_spend",
"description": "Record a spend entry for an agent",
"endpoint": "/v1/track",
"method": "POST",
"free": true
},
{
"id": "set_budget",
"description": "Set monthly/daily budget caps for an agent",
"endpoint": "/v1/budget",
"method": "POST",
"free": true
},
{
"id": "get_report",
"description": "Spend report \u2014 totals, by rail, by service, anomalies",
"endpoint": "/v1/report/{agent_id}",
"method": "GET",
"free": true
},
{
"id": "get_alerts",
"description": "Anomaly alerts for an agent",
"endpoint": "/v1/alerts/{agent_id}",
"method": "GET",
"free": true
},
{
"id": "get_tokens",
"description": "Token burn report \u2014 in/out totals by model",
"endpoint": "/v1/tokens/{agent_id}",
"method": "GET",
"free": true
},
{
"id": "rotate_agent_secret",
"description": "Recover a LOST agent_secret: mint a new one for an agent_id you own, invalidating the previous credential immediately. Workspace_key only \u2014 an agent_secret cannot rotate itself. 404 if the agent_id is not claimed.",
"endpoint": "/v1/agents/{agent_id}/rotate-secret",
"method": "POST",
"free": true
},
{
"id": "route_through_proxy",
"description": "Point your provider base_url at /proxy/{provider} \u2014 openai, anthropic, or any vendor listed in providers.json (deepseek, moonshot ship as examples; adding one is a config edit). Every call is metered and capped BEFORE it reaches the provider: a call that would cross the budget gets 402 to the caller and the provider is never contacted. Pass-through \u2014 send your provider credential in Authorization / x-api-key and AgentLedger forwards it without storing it. Traffic that bypasses the proxy is not enforced.",
"endpoint": "/proxy/{provider}/{path}",
"method": "POST",
"free": true
},
{
"id": "register_alert_webhook",
"description": "Register an http(s) webhook for this workspace's alerts \u2014 budget.warning at 80%, budget.exceeded when a write is actually blocked, and anomaly.detected. Delivered on the event with retries; every attempt is recorded, including failures. Cost metadata only, never prompt content.",
"endpoint": "/v1/webhooks",
"method": "POST",
"free": true
},
{
"id": "share_report_link",
"description": "Mint a read-only, expiring URL for an agent's human-readable report page \u2014 a browser cannot send X-Agent-Secret as a header, so this is how a report reaches a person. Scoped to ONE agent_id, read-only, expiring (7 days default, 90 max), revocable in bulk.",
"endpoint": "/v1/report/{agent_id}/share",
"method": "POST",
"free": true
},
{
"id": "revoke_agent_secret",
"description": "Invalidate an agent's secret while keeping its spend history. The agent_id stays claimed, so no other workspace can take it over.",
"endpoint": "/v1/agents/{agent_id}/revoke-secret",
"method": "POST",
"free": true
}
],
"contact": "entradox@icloud.com",
"legal": "Parmanand LLC. Beta software, provided as-is. Privacy: /privacy \u00b7 Terms: /terms. Cost metadata only \u2014 prompts and responses are never stored."
}