{"uid":"cap_unbVRuzmDLCl6s7D7ZNq6","slug":"agent-exec-storage-pay-per-use-blob-storage-http-402-57f06399","name":"agent-exec Storage — Pay-Per-Use Blob Storage (HTTP 402)","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.","url":"https://agent-exec.448c.net/storage?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"plan":{"enum":["small","medium","large"],"type":"string","description":"Optional. Which plan to buy -- see x-payment-info.pricing for each plan's byte cap, retention window and price. Omitted, misspelled or too small for the body, you get the smallest plan the body fits, and the 402 quotes exactly that; with a payment attached, the largest plan it covers that fits the body."},"label":{"type":"string","description":"Optional. 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. Opaque to us: never parsed, indexed or deduplicated on. At most 128 characters, non-empty, and no control characters; a label breaking any of those is cleaned rather than refused: control characters removed, cut to the cap, an empty one ignored. Labels are NOT unique and NOT addressable -- two objects may share one, and lookup is list-then-get-by-id."}}},"responseSchema":{"type":"object","required":["id","expiresAt","plan"],"properties":{"id":{"type":"string","description":"Pass as GET /storage/{id} to read this object back. A UUID for a paid POST /storage; `free:<your wallet address>` for the one object POST /storage/free maintains -- stable across every free renewal for that wallet."},"plan":{"enum":["small","medium","large","free"],"type":"string","description":"One of the paid plans (small/medium/large) from POST /storage, or \"free\" from POST /storage/free."},"label":{"type":["string","null"],"description":"The label you passed as ?label=, stored verbatim, or null if you passed none. Echoed back so you can confirm what was stored rather than assuming it."},"payment":{"type":"object","properties":{"asset":{"type":"string"},"payer":{"type":"string","description":"The paying wallet's address."},"amount":{"type":"string","description":"Atomic units of the settlement asset that were charged."},"network":{"type":"string"},"transaction":{"type":"string","description":"On-chain settlement transaction hash."}},"description":"Only present for a paid POST /storage write. Absent for POST /storage/free -- nothing was charged."},"expiresAt":{"type":"integer","description":"Unix ms this object stops being retained."}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.0051","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.0051/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0051","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0051","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_q1THBpqDcPBlXUANO9ChR","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0051","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Stores an arbitrary blob of data in a paid, temporary object store and returns an ID, expiry timestamp, plan, and payment receipt — no account or API key required.","exampleAgentPrompt":"Store this JSON blob using the small plan and label it 'run-42-output' — I want to be able to retrieve it later by ID without needing an account.","exampleUseCases":[{"title":"Persist agent intermediate state","prompt":"Save this 8KB JSON object with the label 'planner-state-session-7' on the small plan so I can retrieve it by ID in the next step of my pipeline."},{"title":"Store code execution output for later","prompt":"Take this stdout result from my last code run and store it temporarily — use the medium plan and label it 'exec-result-v3' so I can pull it back later without losing it."},{"title":"Ephemeral cross-agent data handoff","prompt":"I need to hand off a data blob from one agent to another — store it on the large plan, label it 'handoff-payload-run99', and give me the ID so the receiving agent can fetch it."}],"resultDescription":"Returns a JSON object with: `id` (UUID to retrieve the stored object via GET /storage/{id}), `plan` (which storage tier was charged), `label` (echoed back verbatim or null), `expiresAt` (Unix millisecond timestamp when the object expires), and a `payment` object containing the asset, payer wallet address, amount in atomic units, network, and on-chain transaction hash.","failureModes":["Payment insufficient for the requested plan or body size — server returns HTTP 402 with a pricing hint for the minimum qualifying plan","Label exceeds 128 characters or contains control characters — cleaned silently rather than rejected","Plan enum value misspelled or omitted — server auto-selects the smallest plan that fits the body","Body too large for any available plan — request refused","Network or settlement failure — payment not confirmed, object not stored"],"whenToPreferThis":"Choose this endpoint when an AI agent needs temporary, accountless object storage paid with USDC via the x402 HTTP 402 protocol — especially when no API key or account registration is possible or desirable. It is ideal for persisting intermediate state, passing data between agent steps, or storing execution outputs for later retrieval. Prefer it over traditional object storage services when the agent operates in a trustless, account-free context and needs crypto-native pay-per-use semantics.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-10T12:34:34.789Z","isFirstParty":false,"canonicalSlug":"agent-exec-storage-pay-per-use-blob-storage-http-402-57f06399"}