{"x402Version":1,"x402Versions":[1,2],"serviceName":"agent-exec","description":"Accountless, pay-per-use code execution for software agents: submit source code, get stdout, stderr and exit code back from an isolated, network-less sandbox. No account, no API key -- possession of valid payment is sufficient.","tags":["compute","sandbox","code-execution","agents","deterministic"],"iconUrl":"https://agent-exec.448c.org/icon.svg","url":"https://agent-exec.448c.org/execute","type":"http","resources":[{"resource":"https://agent-exec.448c.org/execute","type":"http","method":"POST","description":"POST /execute -- Run source code to completion in the sandbox; returns stdout, stderr, exit code. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","runtimes":[{"id":"python3","pinnedVersion":"3.13","entryFileName":"main.py"},{"id":"node","pinnedVersion":"24.21.0","entryFileName":"main.js"}],"limits":{"timeoutMs":{"type":"integer","minimum":100,"maximum":60000,"default":5000},"maxMemoryBytes":{"type":"integer","minimum":1207959552,"maximum":4294967296,"default":2147483648},"maxOutputBytes":{"type":"integer","minimum":1024,"maximum":8388608,"default":1048576},"workDirBytes":{"type":"integer","minimum":1048576,"maximum":268435456,"default":67108864}},"errorCodes":[{"code":"SANDBOX_INVALID_REQUEST","category":"invalid_request","billable":false,"message":"The request was malformed. Nothing was run."},{"code":"RUNTIME_RESERVED_FILE_PATH","category":"invalid_request","billable":false,"message":"The request was malformed. Nothing was run."},{"code":"REQUEST_MALFORMED","category":"invalid_request","billable":false,"message":"The request was malformed. Nothing was run."},{"code":"PAYMENT_MALFORMED","category":"invalid_request","billable":false,"message":"The request was malformed. Nothing was run."},{"code":"RUNTIME_UNSUPPORTED","category":"unsupported_runtime","billable":false,"message":"The requested runtime is not on the supported allowlist. Nothing was run."},{"code":"RUNTIME_LIMIT_OUT_OF_RANGE","category":"limit_out_of_range","billable":false,"message":"A requested limit fell outside the permitted range. Nothing was run."},{"code":"SANDBOX_TIMEOUT","category":"timeout","billable":true,"message":"The run exceeded its wall-clock budget and was killed."},{"code":"EXECUTION_MEMORY_LIMIT_EXCEEDED","category":"memory_exceeded","billable":true,"message":"The run was killed after exceeding its memory limit."},{"code":"EXECUTION_OUTPUT_LIMIT_EXCEEDED","category":"output_limit_exceeded","billable":true,"message":"The run completed but stdout or stderr was truncated at the request's output limit."},{"code":"SERVICE_BUSY","category":"service_busy","billable":false,"message":"The service is at capacity. Nothing was run; retry the request."},{"code":"PAYER_RATE_LIMITED","category":"service_busy","billable":false,"message":"The service is at capacity. Nothing was run; retry the request."},{"code":"PAYER_CONCURRENCY_LIMITED","category":"service_busy","billable":false,"message":"The service is at capacity. Nothing was run; retry the request."},{"code":"EXECUTE_IP_RATE_LIMITED","category":"service_busy","billable":false,"message":"The service is at capacity. Nothing was run; retry the request."},{"code":"EXECUTION_RUNTIME_ERROR","category":"runtime_error","billable":true,"message":"The payload ran to completion and exited non-zero. This is the caller's program failing, not the service."},{"code":"EXECUTION_RUNTIME_ERROR_POSSIBLE_SANDBOX_DENIAL","category":"runtime_error","billable":true,"message":"The payload exited non-zero, and stderr looks like an OS-level permission or not-implemented error (the shape this sandbox's own syscall filter produces), not necessarily a bug in the payload. This is a HEURISTIC, not a certainty -- it is derived from caller-controlled stderr text, so it can be wrong in either direction. Billed the same as any other completed run, because it consumed real resources either way -- but if this looks like an ordinary operation, it may be a gap in the sandbox rather than an error in your code; reporting the stderr text helps distinguish the two."},{"code":"PAYMENT_INVALID","category":"payment_required","billable":false,"message":"A valid payment is required. Nothing was charged."},{"code":"PAYMENT_AMOUNT_INSUFFICIENT","category":"payment_required","billable":false,"message":"A valid payment is required. Nothing was charged."},{"code":"PAYMENT_REQUIREMENTS_MISMATCH","category":"payment_required","billable":false,"message":"A valid payment is required. Nothing was charged."},{"code":"PAYMENT_REPLAYED","category":"payment_required","billable":false,"message":"A valid payment is required. Nothing was charged."},{"code":"PAYMENT_SETTLEMENT_FAILED","category":"settlement_failed","billable":false,"message":"The code ran, but the payment could not be settled. Nothing was charged."},{"code":"PAYMENT_SETTLEMENT_INDETERMINATE","category":"settlement_indeterminate","billable":false,"message":"The code ran, and the payment settlement result could not be confirmed -- it may already have succeeded. Do NOT retry with a new payment authorization yet; that risks paying twice. The payer address and nonce in details are enough to check the authorization on chain or reference in a support request. If details.authorizationConsumed is true, the authorization is confirmed consumed on chain -- this is a known charge, not a maybe."},{"code":"SANDBOX_UNAVAILABLE","category":"internal_failure","billable":false,"message":"The service failed to run the request through no fault of the caller."},{"code":"SANDBOX_SETUP_FAILED","category":"internal_failure","billable":false,"message":"The service failed to run the request through no fault of the caller."},{"code":"SERVICE_INTERNAL_FAILURE","category":"internal_failure","billable":false,"message":"The service failed to run the request through no fault of the caller."},{"code":"PAYMENT_FACILITATOR_UNAVAILABLE","category":"internal_failure","billable":false,"message":"The service failed to run the request through no fault of the caller."}],"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"1000","resource":"https://agent-exec.448c.org/execute","description":"POST /execute -- Execute python3/node code in an isolated, network-less sandbox; returns stdout, stderr, exit code as JSON. No account needed -- pay per request over x402. Tier: default ($0.0010).","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"runtime":{"type":"string","required":true,"enum":["python3","node"],"description":"Must be one of the allowlisted runtimes enumerated here -- the free way to learn the set. An unsupported value is refused only AFTER a payment attempt, as RUNTIME_UNSUPPORTED, not before."},"source":{"type":"string","required":true,"description":"Program source, written to the runtime's entry file."},"stdin":{"type":"string","required":false,"description":"Written to the payload's stdin, then stdin is closed."},"files":{"type":"object","required":false,"description":"Extra files seeded alongside the entry file, as relative-path -> content."},"limits":{"type":"object","required":false,"description":"Per-request resource budget. Every field is optional; an omitted field takes its documented default."}}},"output":{"type":"json","example":{"outcome":"completed","stdout":"1\n","stderr":"","exitCode":0,"durationMs":42,"truncated":{"stdout":false,"stderr":false},"error":null,"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"},"receipt":{"requestDigest":"0000000000000000000000000000000000000000000000000000000000000000","payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","reference":"0x0000000000000000000000000000000000000000000000000000000000000000"},"priceUsd":0.001,"price":"$0.0010","tier":"default","limits":{"timeoutMs":5000,"maxMemoryBytes":2147483648,"maxOutputBytes":1048576,"workDirBytes":67108864},"usage":{"outcome":"completed","durationMs":42,"exitCode":0,"truncated":{"stdout":false,"stderr":false}},"status":{"code":null,"category":"success","billable":true},"outputDigest":"0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"solana","maxAmountRequired":"1000","resource":"https://agent-exec.448c.org/execute","description":"POST /execute -- Execute python3/node code in an isolated, network-less sandbox; returns stdout, stderr, exit code as JSON. No account needed -- pay per request over x402. Tier: default ($0.0010).","mimeType":"application/json","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"runtime":{"type":"string","required":true,"enum":["python3","node"],"description":"Must be one of the allowlisted runtimes enumerated here -- the free way to learn the set. An unsupported value is refused only AFTER a payment attempt, as RUNTIME_UNSUPPORTED, not before."},"source":{"type":"string","required":true,"description":"Program source, written to the runtime's entry file."},"stdin":{"type":"string","required":false,"description":"Written to the payload's stdin, then stdin is closed."},"files":{"type":"object","required":false,"description":"Extra files seeded alongside the entry file, as relative-path -> content."},"limits":{"type":"object","required":false,"description":"Per-request resource budget. Every field is optional; an omitted field takes its documented default."}}},"output":{"type":"json","example":{"outcome":"completed","stdout":"1\n","stderr":"","exitCode":0,"durationMs":42,"truncated":{"stdout":false,"stderr":false},"error":null,"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"},"receipt":{"requestDigest":"0000000000000000000000000000000000000000000000000000000000000000","payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","reference":"0x0000000000000000000000000000000000000000000000000000000000000000"},"priceUsd":0.001,"price":"$0.0010","tier":"default","limits":{"timeoutMs":5000,"maxMemoryBytes":2147483648,"maxOutputBytes":1048576,"workDirBytes":67108864},"usage":{"outcome":"completed","durationMs":42,"exitCode":0,"truncated":{"stdout":false,"stderr":false}},"status":{"code":null,"category":"success","billable":true},"outputDigest":"0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","amount":"1000","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"}}]},{"resource":"https://agent-exec.448c.org/quote","type":"http","method":"POST","description":"POST /quote -- Free, unauthenticated price quote for a given limits object. No payment required. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"fixed-price-tiers","tiers":[{"name":"default","upToFraction":0,"priceUsd":0.001},{"name":"standard","upToFraction":0.25,"priceUsd":0.005},{"name":"elevated","upToFraction":0.5,"priceUsd":0.01},{"name":"high","upToFraction":0.75,"priceUsd":0.02},{"name":"max","upToFraction":1,"priceUsd":0.05}],"defaultQuote":{"limits":{"timeoutMs":5000,"maxMemoryBytes":2147483648,"maxOutputBytes":1048576,"workDirBytes":67108864},"tier":"default","priceUsd":0.001,"price":"$0.0010"}},"accepts":[]},{"resource":"https://agent-exec.448c.org/listings","type":"http","method":"GET","description":"GET /listings -- Free, unauthenticated search over the directory. Query by tag, text, tier and liveness; among equally-alive listings paid ranks above free, but a dead listing ranks last whatever its owner paid. Every row carries its own liveness data (lastProbeCode, lastSeenAlive, dead): lastProbeCode is the outcome of the last probe we ran, and lastSeenAlive is the Unix ms of the last probe it PASSED -- null if it has never passed one, and older than the last probe we ran on a row that is currently failing. We re-probe every listing on a 6-hour interval; a listing that fails 3 consecutive probes is marked dead, ranks below every live listing regardless of what its owner paid, and is eventually evicted -- after 6 hours if it never once answered a probe and its owner has no other listing here that has, 30 days otherwise (a listing under a live promotion keeps its place until that promotion lapses). We do not hide failures: we publish them per row. Pass ?alive=true to GET /listings to get back only the rows that have actually passed a probe -- dead=false AND lastSeenAlive set, which is not the same test as dead=false alone. Paginated: `limit` bounds the page (defaulting even when omitted), `cursor` continues a previous search. No payment required. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","accepts":[]},{"resource":"https://agent-exec.448c.org/listings","type":"http","method":"POST","description":"POST /listings -- Free, unauthenticated-by-payment listing. Identity is the caller's wallet, proved by a signature over the request body, never an account. Omit `id` to create; include an owned `id` to update. Publish a url you control and that survives a restart -- your own domain, or a platform url that is stable by contract. Quick tunnels (*.trycloudflare.com, *.lhr.life, *.ngrok*, *.loca.lt, *.serveo.net) get a NEW HOSTNAME every time they restart, by their own vendor's design, not by anything this directory does -- a listing on one of these WILL eventually fail its liveness probe and be evicted (see the \"Liveness\" section of /llms.txt for the exact numbers). The fix costs nothing and is not a new registration: re-POST the SAME listing `id` with the new url. That is a free update, and it clears `dead`, `consecutiveFailures` and the eviction clock in the same write. There is no account to lose either way -- the signing wallet is the identity, so a rotated tunnel only ever means one field changed. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","accepts":[]},{"resource":"https://agent-exec.448c.org/listings/promote","type":"http","method":"POST","description":"POST /listings/promote -- Buy paid placement for a directory listing you own, priced by time -- one resource among several this service sells, not the whole product. Pick a tier with the `duration` field in the request body -- one of day/week/month; the 402 quotes the tier you asked for, never a default. `accepts[]` in this document lists one entry per plan so you can see every price up front, but a live 402 challenge from this resource always holds exactly one. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"fixed-price-plans","plans":[{"duration":"day","name":"day","days":1,"priceUsd":0.0667,"price":"$0.0667"},{"duration":"week","name":"week","days":7,"priceUsd":0.3333,"price":"$0.3333"},{"duration":"month","name":"month","days":30,"priceUsd":1,"price":"$1.0000"}]},"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"66700","resource":"https://agent-exec.448c.org/listings/promote","description":"POST /listings/promote -- Paid placement in the agent-exec directory: promoted listings outrank free ones while paid ($0.0667/day, $0.3333/week, $1/month) and demote once payment lapses. This entry buys day ($0.0667). Not a review -- payment doesn't verify or endorse a listing. No account needed; pay over x402.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"id":{"type":"string","required":true,"description":"The directory listing id to promote. You must pay from the wallet that owns it."},"duration":{"type":"string","required":true,"enum":["day","week","month"],"description":"One of: day, week, month."}}},"output":{"type":"json","example":{"listing":{"id":"example-listing","tier":"paid","paidUntil":1700000000000},"promotion":{"duration":"week","durationMs":604800000,"paidUntil":1700000000000,"priceUsd":0.3333},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"333300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"base","maxAmountRequired":"333300","resource":"https://agent-exec.448c.org/listings/promote","description":"POST /listings/promote -- Paid placement in the agent-exec directory: promoted listings outrank free ones while paid ($0.0667/day, $0.3333/week, $1/month) and demote once payment lapses. This entry buys week ($0.3333). Not a review -- payment doesn't verify or endorse a listing. No account needed; pay over x402.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"id":{"type":"string","required":true,"description":"The directory listing id to promote. You must pay from the wallet that owns it."},"duration":{"type":"string","required":true,"enum":["day","week","month"],"description":"One of: day, week, month."}}},"output":{"type":"json","example":{"listing":{"id":"example-listing","tier":"paid","paidUntil":1700000000000},"promotion":{"duration":"week","durationMs":604800000,"paidUntil":1700000000000,"priceUsd":0.3333},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"333300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"base","maxAmountRequired":"1000000","resource":"https://agent-exec.448c.org/listings/promote","description":"POST /listings/promote -- Paid placement in the agent-exec directory: promoted listings outrank free ones while paid ($0.0667/day, $0.3333/week, $1/month) and demote once payment lapses. This entry buys month ($1). Not a review -- payment doesn't verify or endorse a listing. No account needed; pay over x402.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"id":{"type":"string","required":true,"description":"The directory listing id to promote. You must pay from the wallet that owns it."},"duration":{"type":"string","required":true,"enum":["day","week","month"],"description":"One of: day, week, month."}}},"output":{"type":"json","example":{"listing":{"id":"example-listing","tier":"paid","paidUntil":1700000000000},"promotion":{"duration":"week","durationMs":604800000,"paidUntil":1700000000000,"priceUsd":0.3333},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"333300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"solana","maxAmountRequired":"66700","resource":"https://agent-exec.448c.org/listings/promote","description":"POST /listings/promote -- Paid placement in the agent-exec directory: promoted listings outrank free ones while paid ($0.0667/day, $0.3333/week, $1/month) and demote once payment lapses. This entry buys day ($0.0667). Not a review -- payment doesn't verify or endorse a listing. No account needed; pay over x402.","mimeType":"application/json","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"id":{"type":"string","required":true,"description":"The directory listing id to promote. You must pay from the wallet that owns it."},"duration":{"type":"string","required":true,"enum":["day","week","month"],"description":"One of: day, week, month."}}},"output":{"type":"json","example":{"listing":{"id":"example-listing","tier":"paid","paidUntil":1700000000000},"promotion":{"duration":"week","durationMs":604800000,"paidUntil":1700000000000,"priceUsd":0.3333},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"333300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"solana","maxAmountRequired":"333300","resource":"https://agent-exec.448c.org/listings/promote","description":"POST /listings/promote -- Paid placement in the agent-exec directory: promoted listings outrank free ones while paid ($0.0667/day, $0.3333/week, $1/month) and demote once payment lapses. This entry buys week ($0.3333). Not a review -- payment doesn't verify or endorse a listing. No account needed; pay over x402.","mimeType":"application/json","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"id":{"type":"string","required":true,"description":"The directory listing id to promote. You must pay from the wallet that owns it."},"duration":{"type":"string","required":true,"enum":["day","week","month"],"description":"One of: day, week, month."}}},"output":{"type":"json","example":{"listing":{"id":"example-listing","tier":"paid","paidUntil":1700000000000},"promotion":{"duration":"week","durationMs":604800000,"paidUntil":1700000000000,"priceUsd":0.3333},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"333300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"solana","maxAmountRequired":"1000000","resource":"https://agent-exec.448c.org/listings/promote","description":"POST /listings/promote -- Paid placement in the agent-exec directory: promoted listings outrank free ones while paid ($0.0667/day, $0.3333/week, $1/month) and demote once payment lapses. This entry buys month ($1). Not a review -- payment doesn't verify or endorse a listing. No account needed; pay over x402.","mimeType":"application/json","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"id":{"type":"string","required":true,"description":"The directory listing id to promote. You must pay from the wallet that owns it."},"duration":{"type":"string","required":true,"enum":["day","week","month"],"description":"One of: day, week, month."}}},"output":{"type":"json","example":{"listing":{"id":"example-listing","tier":"paid","paidUntil":1700000000000},"promotion":{"duration":"week","durationMs":604800000,"paidUntil":1700000000000,"priceUsd":0.3333},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"333300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"66700","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:8453","amount":"333300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:8453","amount":"1000000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","amount":"66700","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","amount":"333300","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","amount":"1000000","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"}}]},{"resource":"https://agent-exec.448c.org/storage","type":"http","method":"POST","description":"POST /storage -- Accountless, pay-per-use durable object storage for software agents: pay once for a byte cap and a retention window, then read your bytes back for free with a wallet signature. No account, no API key, no public URL -- possession of the paying wallet is sufficient. Retention can be extended before it lapses via a paid POST /storage/{id}/renew, keeping the same id. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"fixed-price-plans","plans":[{"name":"small","bytes":65536,"seconds":86400,"priceUsd":0.0051,"price":"$0.0051"},{"name":"medium","bytes":262144,"seconds":604800,"priceUsd":0.0055,"price":"$0.0055"},{"name":"large","bytes":1048576,"seconds":2592000,"priceUsd":0.0125,"price":"$0.0125"}]},"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"5100","resource":"https://agent-exec.448c.org/storage","description":"POST /storage -- Store up to 65536 bytes for 86400 seconds (small plan). Readable only by the paying wallet.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"binary","queryParams":{"plan":{"type":"string","required":true,"enum":["small","medium","large"],"description":"One of: small, medium, large."},"label":{"type":"string","required":false,"description":"Optional, at most 128 characters, no control characters. A name of your own choosing for this object, stored verbatim and returned on every GET /storage/list row, so a later run that no longer remembers the id can still tell which object is which without downloading them."}}},"output":{"type":"json","example":{"id":"00000000-0000-4000-8000-000000000000","expiresAt":1700000000000,"plan":"small","payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5100","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"base","maxAmountRequired":"5500","resource":"https://agent-exec.448c.org/storage","description":"POST /storage -- Store up to 262144 bytes for 604800 seconds (medium plan). Readable only by the paying wallet.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"binary","queryParams":{"plan":{"type":"string","required":true,"enum":["small","medium","large"],"description":"One of: small, medium, large."},"label":{"type":"string","required":false,"description":"Optional, at most 128 characters, no control characters. A name of your own choosing for this object, stored verbatim and returned on every GET /storage/list row, so a later run that no longer remembers the id can still tell which object is which without downloading them."}}},"output":{"type":"json","example":{"id":"00000000-0000-4000-8000-000000000000","expiresAt":1700000000000,"plan":"small","payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5100","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"base","maxAmountRequired":"12500","resource":"https://agent-exec.448c.org/storage","description":"POST /storage -- Store up to 1048576 bytes for 2592000 seconds (large plan). Readable only by the paying wallet.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"binary","queryParams":{"plan":{"type":"string","required":true,"enum":["small","medium","large"],"description":"One of: small, medium, large."},"label":{"type":"string","required":false,"description":"Optional, at most 128 characters, no control characters. A name of your own choosing for this object, stored verbatim and returned on every GET /storage/list row, so a later run that no longer remembers the id can still tell which object is which without downloading them."}}},"output":{"type":"json","example":{"id":"00000000-0000-4000-8000-000000000000","expiresAt":1700000000000,"plan":"small","payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5100","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"5100","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:8453","amount":"5500","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:8453","amount":"12500","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://agent-exec.448c.org/storage/usage","type":"http","method":"GET","description":"GET /storage/usage -- Free: this wallet's current object count and total stored bytes. Identity is an EIP-191 signature (X-Signature header), never a payment -- to prove it, sign the domain-separated string `agent-exec:storage:read:v1\nusage\n<nonce>\n<signedAt>` (fields joined by a literal newline; `<nonce>`/`<signedAt>` are the exact values sent as this call's query parameters) -- NOT the raw request body, NOT JSON. Full parameter list: GET /openapi.json. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","accepts":[]},{"resource":"https://agent-exec.448c.org/storage/list","type":"http","method":"GET","description":"GET /storage/list -- Free: this wallet's currently-unexpired objects, newest first -- id, size, createdAt and expiresAt for each, never the bytes. This is how you find an object again after losing the id POST /storage returned; the bytes still come from a separate GET /storage/{id}. Identity is an EIP-191 signature (X-Signature header), never a payment -- to prove it, sign the domain-separated string `agent-exec:storage:read:v1\nlist\n<nonce>\n<signedAt>` (fields joined by a literal newline; `<nonce>`/`<signedAt>` are the exact values sent as this call's query parameters) -- NOT the raw request body, NOT JSON. Full parameter list: GET /openapi.json. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","accepts":[]},{"resource":"https://agent-exec.448c.org/storage/free","type":"http","method":"POST","description":"POST /storage/free -- Free: store one object for your own wallet, up to 4096 bytes, for 86400 seconds -- renewable by re-signing, and it is what makes GET /storage/usage and GET /storage/list answerable for a wallet that has never paid. A sibling of POST /storage, not a discount on it: one object, not a count; this size, not a plan. Identity is an EIP-191 signature (X-Signature header), never a payment -- to prove it, sign the domain-separated string `agent-exec:storage:free-write:v1\nfree-write\n<nonce>\n<signedAt>` (fields joined by a literal newline; `<nonce>`/`<signedAt>` are the exact values sent as this call's query parameters) -- note the `free-write` domain, neither a read nor a delete signature is accepted. Full parameter list: GET /openapi.json. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","accepts":[]},{"resource":"https://agent-exec.448c.org/claim","type":"http","method":"POST","description":"POST /claim -- Accountless compare-and-set: pay once to atomically win a caller-named key for your own paying wallet's fleet, or learn who already holds it. Pick a hold duration with the `plan` field in the request body -- one of hour/day/week; the 402 quotes the plan you asked for, never a default. `accepts[]` in this document lists one entry per plan so you can see every price up front, but a live 402 challenge from this resource always holds exactly one. Coordinates one wallet's own fleet racing itself, not mutually distrusting strangers over a shared namespace. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"fixed-price-plans","plans":[{"name":"hour","seconds":3600,"priceUsd":0.0052,"price":"$0.0052"},{"name":"day","seconds":86400,"priceUsd":0.0168,"price":"$0.0168"},{"name":"week","seconds":604800,"priceUsd":0.047,"price":"$0.0470"}]},"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"5200","resource":"https://agent-exec.448c.org/claim","description":"POST /claim -- Atomically win a caller-named key for 3600 seconds (hour plan), or learn who already holds it. Scoped to your own paying wallet -- coordinates one wallet's own fleet, not mutually distrusting strangers.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"key":{"type":"string","required":true,"description":"1..256 UTF-8 bytes, no '/' character -- the name you want to hold, scoped to your own wallet."},"holder":{"type":"string","required":true,"description":"1..256 UTF-8 bytes -- an id identifying which of your processes is claiming it."},"plan":{"type":"string","required":true,"enum":["hour","day","week"],"description":"One of: hour, day, week."}}},"output":{"type":"json","example":{"outcome":"acquired","plan":"hour","claim":{"key":"deploy-lock","holder":"worker-3","acquiredAt":1700000000000,"expiresAt":1700003600000},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5200","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"base","maxAmountRequired":"16800","resource":"https://agent-exec.448c.org/claim","description":"POST /claim -- Atomically win a caller-named key for 86400 seconds (day plan), or learn who already holds it. Scoped to your own paying wallet -- coordinates one wallet's own fleet, not mutually distrusting strangers.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"key":{"type":"string","required":true,"description":"1..256 UTF-8 bytes, no '/' character -- the name you want to hold, scoped to your own wallet."},"holder":{"type":"string","required":true,"description":"1..256 UTF-8 bytes -- an id identifying which of your processes is claiming it."},"plan":{"type":"string","required":true,"enum":["hour","day","week"],"description":"One of: hour, day, week."}}},"output":{"type":"json","example":{"outcome":"acquired","plan":"hour","claim":{"key":"deploy-lock","holder":"worker-3","acquiredAt":1700000000000,"expiresAt":1700003600000},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5200","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"base","maxAmountRequired":"47000","resource":"https://agent-exec.448c.org/claim","description":"POST /claim -- Atomically win a caller-named key for 604800 seconds (week plan), or learn who already holds it. Scoped to your own paying wallet -- coordinates one wallet's own fleet, not mutually distrusting strangers.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"key":{"type":"string","required":true,"description":"1..256 UTF-8 bytes, no '/' character -- the name you want to hold, scoped to your own wallet."},"holder":{"type":"string","required":true,"description":"1..256 UTF-8 bytes -- an id identifying which of your processes is claiming it."},"plan":{"type":"string","required":true,"enum":["hour","day","week"],"description":"One of: hour, day, week."}}},"output":{"type":"json","example":{"outcome":"acquired","plan":"hour","claim":{"key":"deploy-lock","holder":"worker-3","acquiredAt":1700000000000,"expiresAt":1700003600000},"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5200","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"5200","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:8453","amount":"16800","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"eip155:8453","amount":"47000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://agent-exec.448c.org/claim/free","type":"http","method":"POST","description":"POST /claim/free -- Free: atomically win a caller-named key for your own wallet's fleet for 300 seconds, or learn who already holds it -- unlimited distinct keys per wallet, renewable by re-acquiring. A sibling of POST /claim, not a discount on it: 12x shorter than the cheapest paid plan, so a hold across a deploy, a batch, or a day is on the paid ladder from the first minute. Identity is an EIP-191 signature (X-Signature header), never a payment -- to prove it, sign the domain-separated string `agent-exec:claim:free-acquire:v1\n11:deploy-lock\n<byteLength(nonce)>:<nonce>\n<signedAt>` (fields joined by a literal newline; the key and nonce are each prefixed with their UTF-8 byte length and a colon; `<nonce>`/`<signedAt>` are the exact values sent as this call's JSON request body fields) -- you sign this exact string, NOT the JSON body that carries these values -- and note the `free-acquire` domain, distinct from both `read` and `release`; neither of those signatures is accepted here, over its OWN domain distinct from both GET and DELETE /claim/{key}'s. Full parameter list: GET /openapi.json. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","accepts":[]},{"resource":"https://agent-exec.448c.org/attest","type":"http","method":"POST","description":"POST /attest -- Pay to have us fetch a URL from OUR vantage point and return a signed, timestamped attestation of what we saw -- hash, byte count, status and headers, never the body. Retrievable afterwards for free at GET /attest/{id}, so it can be cited to a third party who never paid us. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"fixed-price-plans","plans":[{"name":"default","priceUsd":0.008,"price":"$0.0080"}]},"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"8000","resource":"https://agent-exec.448c.org/attest","description":"POST /attest -- Fetch a URL from our vantage point and return a signed, timestamped attestation of what we saw (hash, status, headers) -- never the body. Retrievable afterwards for free at /attest/{attestation_id}.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"url":{"type":"string","required":true,"description":"An absolute http:// or https:// URL, at most 2048 UTF-8 bytes. Fetched from OUR vantage point; the body is never returned to you."}}},"output":{"type":"json","example":{"attestation_id":"018f5b2e-0000-7000-8000-000000000000","url":"https://example.com/terms","observed_at":"2026-09-02T00:00:00.000Z","fetch_ok":true,"fetch_code":"ATTEST_FETCH_OK","http_status":200,"body_sha256":"0000000000000000000000000000000000000000000000000000000000000000","body_bytes":1234,"body_truncated":false,"content_type":"text/html; charset=utf-8","final_url_after_redirects":"https://example.com/terms","redirects":0,"detail":null,"signature":"0x00","signer_address":"0x0000000000000000000000000000000000dEaD","payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"8000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"8000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://agent-exec.448c.org/handoff","type":"http","method":"POST","description":"POST /handoff -- Pay to deposit a typed briefing for your successor process -- what's done and how it was verified, what's not done, what was in flight, what to pick up first. Returns an id; the successor fetches it back for free at GET /handoff/{id} with no identity required, so the id itself is the capability and no account is needed on either side. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"fixed-price-plans","plans":[{"name":"default","seconds":259200,"priceUsd":0.0053,"price":"$0.0053"}]},"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"5300","resource":"https://agent-exec.448c.org/handoff","description":"POST /handoff -- Deposit a typed briefing for your successor process (what's done and how it was verified, what's not done, what was in flight, what to pick up first). Returns an id; fetch it back for free at /handoff/{id}, no identity required.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":60,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"done":{"type":"array","required":true,"description":"Claims that are DONE. Each must be { text, confidence: \"measured\", evidence } -- evidence describing how it was verified is mandatory."},"notDone":{"type":"array","required":true,"description":"Claims that are NOT done. { text, confidence, evidence }, confidence may be \"measured\" or \"unverified\"."},"inFlight":{"type":"array","required":true,"description":"Claims that were in flight at the cut. Same claim shape as notDone."},"pickUpFirst":{"type":"string","required":true,"description":"What the successor should do first."}}},"output":{"type":"json","example":{"id":"018f5b2e-0000-7000-8000-000000000000","expiresAt":1700000000000,"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"5300","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://agent-exec.448c.org/deadman","type":"http","method":"POST","description":"POST /deadman -- Pay to register an irreversible-action intent with a lease and a verification probe (a GET plus a predicate). Confirm before the lease expires at POST /deadman/{id}/confirm, free; otherwise we run your probe on your behalf and publish the verdict -- confirmed-by-probe, refuted-by-probe, or unresolved -- plus the raw response, for free, forever, at GET /deadman/{id}. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"fixed-price-plans","plans":[{"name":"default","priceUsd":0.0054,"price":"$0.0054","minLeaseSeconds":1,"maxLeaseSeconds":604800}]},"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"5400","resource":"https://agent-exec.448c.org/deadman","description":"POST /deadman -- Register an irreversible-action intent with a lease and a verification probe. Confirm before expiry at POST /deadman/{id}/confirm, or the probe runs on your behalf and the verdict (confirmed-by-probe / refuted-by-probe / unresolved) is published at GET /deadman/{id}, free, forever.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":60,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"description":{"type":"string","required":true,"description":"What you are about to do."},"leaseSeconds":{"type":"number","required":true,"description":"How long before an unconfirmed entry's probe runs (1-604800)."},"probe":{"type":"object","required":true,"description":"{ url, expectedBodyContains?, expectedStatus? } -- at least one predicate is required."}}},"output":{"type":"json","example":{"id":"018f5b2e-0000-7000-8000-000000000000","status":"pending","description":"Deploying release v42 to prod","probe":{"url":"https://example.com/health","expectedStatus":200},"createdAt":1700000000000,"leaseExpiresAt":1700003600000,"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5400","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"5400","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]},{"resource":"https://agent-exec.448c.org/drift","type":"http","method":"POST","description":"POST /drift -- Pay to re-fetch a venue endpoint we already snapshot and diff it against our archived baseline -- field additions/removals, weight re-basing, enum growth, fleet-wide nulling. Substitute the venue as a path segment: POST /drift/{venue}. Returns BOTH the archived and the fresh raw body so you can verify the diff yourself. GET /drift/{venue} is free and reports whether a baseline exists, without spending the live re-fetch a POST costs. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"fixed-price-plans","plans":[{"name":"default","priceUsd":0.0061,"price":"$0.0061"}]},"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"6100","resource":"https://agent-exec.448c.org/drift","description":"POST /drift -- Re-fetch a venue endpoint we already snapshot and diff it against our archived baseline: field_added/removed, weight re-basing, enum growth, fleet-wide nulling. Returns BOTH raw bodies so you can verify the diff yourself. Body is JSON: {\"venue\": \"...\"} -- venue is one of the endpoints we already snapshot. Equivalent to POST /drift/{venue}, where GET /drift/{venue} is free and reports whether a baseline exists.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"venue":{"type":"string","required":true,"enum":["agentry","clearedindex","percall","verantis","x402-list"],"pattern":"^[a-zA-Z0-9_-]+$","description":"One of the endpoints we already snapshot."}}},"output":{"type":"json","example":{"venue":"percall","t1":{"fetched_at":"2026-09-01T00:00:00.000Z","url":"https://example.com/api/score","http_status":200,"content_type":"application/json","body_bytes":1234,"body_sha256":"0000000000000000000000000000000000000000000000000000000000000000","body":"{\"...\":\"...\"}"},"t2":{"fetched_at":"2026-09-04T00:00:00.000Z","url":"https://example.com/api/score","http_status":200,"content_type":"application/json","body_bytes":1256,"body_sha256":"1111111111111111111111111111111111111111111111111111111111111111","body":"{\"...\":\"...\"}","fetch_ok":true,"fetch_code":"DRIFT_FETCH_OK","detail":null,"body_truncated":false},"events":[{"type":"weights_rebased","path":"$.checks[].weight","field":"weight","before":{"sum":100,"min":0,"max":20,"count":10},"after":{"sum":122,"min":0,"max":20,"count":20}}],"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"6100","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},{"scheme":"exact","network":"solana","maxAmountRequired":"6100","resource":"https://agent-exec.448c.org/drift","description":"POST /drift -- Re-fetch a venue endpoint we already snapshot and diff it against our archived baseline: field_added/removed, weight re-basing, enum growth, fleet-wide nulling. Returns BOTH raw bodies so you can verify the diff yourself. Body is JSON: {\"venue\": \"...\"} -- venue is one of the endpoints we already snapshot. Equivalent to POST /drift/{venue}, where GET /drift/{venue} is free and reports whether a baseline exists.","mimeType":"application/json","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"venue":{"type":"string","required":true,"enum":["agentry","clearedindex","percall","verantis","x402-list"],"pattern":"^[a-zA-Z0-9_-]+$","description":"One of the endpoints we already snapshot."}}},"output":{"type":"json","example":{"venue":"percall","t1":{"fetched_at":"2026-09-01T00:00:00.000Z","url":"https://example.com/api/score","http_status":200,"content_type":"application/json","body_bytes":1234,"body_sha256":"0000000000000000000000000000000000000000000000000000000000000000","body":"{\"...\":\"...\"}"},"t2":{"fetched_at":"2026-09-04T00:00:00.000Z","url":"https://example.com/api/score","http_status":200,"content_type":"application/json","body_bytes":1256,"body_sha256":"1111111111111111111111111111111111111111111111111111111111111111","body":"{\"...\":\"...\"}","fetch_ok":true,"fetch_code":"DRIFT_FETCH_OK","detail":null,"body_truncated":false},"events":[{"type":"weights_rebased","path":"$.checks[].weight","field":"weight","before":{"sum":100,"min":0,"max":20,"count":10},"after":{"sum":122,"min":0,"max":20,"count":20}}],"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"6100","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"6100","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","amount":"6100","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","payTo":"GPbCdSaF5Qcfr5kdundH3etood2q5rafnRwdvVrs3Tan","maxTimeoutSeconds":60,"extra":{"feePayer":"HzUdRhSZMrSg5sbPCjToWFGCkSf2yfSE33m5NWaBC4rh"}}]},{"resource":"https://agent-exec.448c.org/watch","type":"http","method":"POST","description":"POST /watch -- Pay to have us poll a URL for you until a condition fires -- status changed or equals, body contains or stops containing, a JSON path equals or stops equaling, or anything changed since you registered -- or until the TTL runs out. Priced by how often and how long. Read the result free, any time, at GET /watch/{id}; with storageKey a match is also delivered into your /storage. Complaints, questions, quote requests, or a service you wish we had: POST https://agent-exec.448c.org/feedback -- free, no account. Every report is read and analysed daily; there is no individual reply.","pricing":{"model":"per-poll","formula":"$0.0050 + (floor(ttlSeconds / intervalSeconds) + 1) * $0.0004 per poll","minPrice":"$0.0058","example":{"intervalSeconds":3600,"ttlSeconds":86400,"price":"$0.0150"}},"accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"5800","resource":"https://agent-exec.448c.org/watch","description":"POST /watch -- Register a durable poll of a URL, priced by intervalSeconds x ttlSeconds. Read the current verdict, free, forever, at GET /watch/{id} -- lastPolledAt/nextPollDueAt/overdue tell you if the sweeper has fallen behind.","mimeType":"application/json","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":60,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"outputSchema":{"input":{"type":"http","method":"POST","discoverable":false,"bodyType":"json","bodyFields":{"url":{"type":"string","required":true,"description":"Absolute http(s) URL to poll."},"intervalSeconds":{"type":"number","required":true,"description":"Seconds between polls (60-86400)."},"ttlSeconds":{"type":"number","required":true,"description":"Stop polling after this many seconds (60-604800, at least intervalSeconds)."},"predicate":{"type":"object","required":true,"description":"One of {type:\"statusChanged\"} / {type:\"statusEquals\",status} / {type:\"bodyContains\",value} / {type:\"bodyNotContains\",value} / {type:\"jsonPathEquals\",path,value} / {type:\"jsonPathNotEquals\",path,value} / {type:\"changedFromNow\",path?}."},"storageKey":{"type":"string","required":false,"description":"Deliver a matched observation into /storage under this key (as its label), at most 128 characters."}}},"output":{"type":"json","example":{"id":"018f5b2e-0000-7000-8000-000000000000","status":"active","url":"https://example.com/health","intervalSeconds":300,"ttlSeconds":3600,"predicate":{"type":"statusEquals","status":200},"createdAt":1700000000000,"ttlExpiresAt":1700003600000,"lastPolledAt":null,"nextPollDueAt":1700000000000,"overdue":false,"payment":{"payer":"0x0000000000000000000000000000000000dEaD","amount":"5800","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"base","transaction":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}}],"acceptsV2":[{"scheme":"exact","network":"eip155:8453","amount":"5800","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xc8Fceb0F3611BE99c41586eA2B83F6A0911d2Ff0","maxTimeoutSeconds":60,"extra":{"name":"USD Coin","version":"2"}}]}]}