# AgentPay Memory Storage

> AgentPay Memory Storage is a paid API for AI agents from agentpay.help, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Key-value memory store for AI agents — get, set, delete, or list persistent data via pay-per-call USDC micropayments, no API key required.

## Facts

- Endpoint: POST https://agentpay.help/v1/memory
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentpay-memory-storage-fb0375d2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_buhfoeEzA8F53i-P9TJNc

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 agentpay-memory-storage-fb0375d2 -d '<json body>'
```

Example prompt: Save 'Ronald' under the key 'user_name' in my 'prefs' namespace so you can remember it next time — use AgentPay memory and pay with USDC.

## When to prefer this

Choose this endpoint when an AI agent needs lightweight persistent key-value memory without managing accounts, API keys, or a separate database — ideal for stateless agents that need to recall user preferences, session state, or task context across calls, paying only fractions of a cent per operation in USDC.

## Known failure modes

- Missing required 'action' field returns a 400-level error
- 'get' or 'delete' on a non-existent key may return ok:false or null value
- Payment failure via x402 returns 402 Payment Required
- Namespace or key exceeding max length (50/200 chars) causes validation error
- 'set' without a 'value' field fails with a missing parameter error

## How this service works

Pay-per-call AI services via the 402 Payment Required protocol. No accounts, no API keys — just USDC on Base.

## Output

Returns a JSON object with 'ok' (boolean success flag), 'key' (the targeted key), 'value' (the stored data for get operations), and 'namespace'. For list operations, returns the set of keys in the namespace.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "key": {
   "type": "string",
   "maxLength": 200,
   "description": "Key (required for get/set/delete)"
  },
  "value": {
   "description": "Value to store (required for set, any JSON)"
  },
  "action": {
   "enum": [
    "get",
    "set",
    "delete",
    "list"
   ],
   "type": "string",
   "description": "Operation"
  },
  "namespace": {
   "type": "string",
   "maxLength": 50,
   "description": "Namespace, default 'default'"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "key": "user_name",
  "value": "Ronald",
  "namespace": "prefs"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentpay-memory-storage-fb0375d2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentpay.help](https://www.zero.xyz/host/agentpay.help/llms.txt)
