# agent-exec Storage Object Replace

> agent-exec Storage Object Replace is a paid API for AI agents from agent-exec.448c.org, paid per call via x402, $0.0051/call, status unknown (last checked 2026-10-10).

Replaces the content of an existing storage object in-place, extending or preserving its retention window, with pay-per-use USDC micropayment and no account required.

## Facts

- Endpoint: POST https://agent-exec.448c.org/storage/%7Bid%7D/replace?utm_source=zero.xyz
- Price: $0.0051/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-exec-storage-object-replace-ddcd772c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vh_PQFo24p79Q6J-XXdCb

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agent-exec-storage-object-replace-ddcd772c -d '<json body>'
```

Example prompt: Overwrite the stored object with ID 'abc123' in agent-exec storage with my updated script content, using the small plan, and keep the existing label — just pay for it with USDC.

## When to prefer this

Use this endpoint when you already have an existing storage object ID and want to overwrite its content in place, preserving the same ID and optionally extending retention — rather than creating a brand-new object. It is the right choice when an agent needs to update checkpoint state, replace code artifacts, or re-park data under a known identifier without re-registering or signing up for an account.

## Known failure modes

- Plan too small for new body — service auto-selects smallest fitting plan and returns 402 quoting exact required plan
- Invalid or expired object ID — object not found
- Payment failure — insufficient funds or invalid x402 payment header
- Malformed request body — missing or invalid content
- Network or sandbox unavailability — 5xx error

## How this service works

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.

## Output

Returns the storage object's new ID, selected plan, new size in bytes, new expiry timestamp (Unix ms), the previous size and expiry before replacement, the resulting label, and a payment object containing the asset, payer wallet address, amount charged in atomic USDC units, network, and on-chain transaction hash.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "plan": {
   "enum": [
    "small",
    "medium",
    "large",
    "year"
   ],
   "type": "string",
   "description": "Optional; omitted, misspelled or too small for the new body, you get the smallest plan it fits, and the 402 quotes exactly that. Which plan to buy. Priced as a fresh store, because the content is entirely new. Its byte allowance must cover the NEW body, and its window is compared against what the object already has -- the longer of the two wins, so replacing early never shortens your retention."
  },
  "label": {
   "type": "string",
   "description": "Three-way. OMIT it to keep the object's current label (the usual case -- you are re-parking state under a name you already know). Send `?label=name` to rename. Send it empty (`?label=`) to clear it."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "id",
  "expiresAt",
  "previousExpiresAt",
  "size",
  "previousSize",
  "plan",
  "label",
  "payment"
 ],
 "properties": {
  "id": {
   "type": "string"
  },
  "plan": {
   "enum": [
    "small",
    "medium",
    "large",
    "year"
   ],
   "type": "string"
  },
  "size": {
   "type": "integer",
   "description": "The new content size, in bytes."
  },
  "label": {
   "type": [
    "string",
    "null"
   ],
   "description": "The resulting label -- unchanged, renamed, or cleared, per the `?label=` sent."
  },
  "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."
    }
   }
  },
  "expiresAt": {
   "type": "integer",
   "description": "Unix ms the object is free again, after this replacement."
  },
  "previousSize": {
   "type": "integer",
   "description": "The size of the content that was overwritten, in bytes."
  },
  "previousExpiresAt": {
   "type": "integer",
   "description": "Unix ms the object would have expired before this replacement."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-exec-storage-object-replace-ddcd772c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent-exec.448c.org](https://www.zero.xyz/host/agent-exec.448c.org/llms.txt)
