{"uid":"cap_-5OwVfbnjCeK5U56_qajX","slug":"agent-exec-storage-pay-per-use-object-storage-http-402-269abcb0","name":"agent-exec Storage — Pay-Per-Use Object 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.45.67.221.128.sslip.io/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_H84mzzNbo2E7bKNymc4vc","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 binary/text object in an isolated, accountless storage bucket and returns a UUID and expiry, paid per-call via x402/USDC.","exampleAgentPrompt":"Save this JSON output to accountless temporary storage using the small plan and label it 'run-42-results' — I'll need to retrieve it by ID later.","exampleUseCases":[{"title":"Persist agent pipeline intermediate state","prompt":"Store this intermediate data blob with the label 'pipeline-step-3' on the small plan so the next agent in my workflow can retrieve it by ID."},{"title":"Save code execution output for later review","prompt":"I just ran some code and got back a big stdout dump — can you save it to temporary storage under the label 'exec-output-run-17' so I can come back and read it without re-running?"},{"title":"Cross-session data handoff between agents","prompt":"Store this analysis result using the medium plan and label it 'sentiment-batch-july' — a different agent will need to pull it back later by UUID."}],"resultDescription":"Returns a JSON object containing a UUID (`id`) to retrieve the stored object later via GET /storage/{id}, the selected plan name, expiry timestamp in Unix milliseconds, the optional label echoed back, and a payment sub-object with the USDC amount charged, payer wallet address, network, and on-chain transaction hash.","failureModes":["Payment too small for the requested plan — 402 returned with correct pricing for the smallest fitting plan","Object body too large for selected plan — server selects smallest plan that fits, or 402 quotes required plan","Label exceeds 128 characters — silently truncated rather than rejected","Label contains control characters — stripped silently","Insufficient USDC balance in wallet — payment fails and object is not stored","Network congestion causes payment settlement delay — request may time out","Object ID unknown or expired — GET /storage/{id} returns 404 after expiresAt"],"whenToPreferThis":"Choose this endpoint when an AI agent needs to persist data across sessions or hand off a payload to another agent without creating an account or managing API keys. Ideal for ephemeral, pay-as-you-go storage where possession of a valid x402/USDC payment is the only credential required. Prefer over traditional object storage services (S3, GCS) when the agent has no cloud credentials and needs instant, accountless access.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T06:41:45.046Z","isFirstParty":false,"canonicalSlug":"agent-exec-storage-pay-per-use-object-storage-http-402-269abcb0"}