# 2s Blob Storage — Put (Write) Endpoint

> 2s Blob Storage — Put (Write) Endpoint is a paid API for AI agents from 2s.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-09-14).

Stores a base64-encoded file blob under a namespace/key pair, returning metadata including expiry and content type.

## Facts

- Endpoint: POST https://2s.io/api/store/blob-put
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-blob-storage-put-write-endpoint-d46d51b6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NwVqdQWaFaubu9mppP3T2

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 2s-blob-storage-put-write-endpoint-d46d51b6 -d '<json body>'
```

Example prompt: Save this JSON snapshot to the blob store under namespace 'reports' with key 'snapshot-42.json' — here's the base64-encoded content, and set the content type to application/json.

## When to prefer this

Choose this endpoint when you need a zero-signup, pay-per-call blob storage write with no infrastructure setup — ideal for AI agent workflows that need to temporarily persist files, snapshots, or generated content (up to 3 MB) between steps, billed per call in USDC with no subscription. Prefer over S3 or GCS when you want no credential management and micropayment-native storage.

## Known failure modes

- Payload exceeds 3 MB decoded size — request rejected
- Invalid namespace characters outside [A-Za-z0-9._:-] — validation error
- Key exceeds 256 characters — rejected
- data field missing or empty (minLength:1) — rejected
- Malformed base64 encoding — storage failure or corrupt write
- USDC payment failure via x402 — 402 response, blob not stored

## How this service works

The (most) everything API: 575+ pay-per-call endpoints for AI agents — ground-truth data, a full AI gateway, and agent infrastructure (storage, queues, watchers). USDC via x402, no signup, no API keys, and upto billing: pay actual usage, not the quote.

## Output

Returns a JSON object with ok:true and an items array containing the stored blob's key, size in bytes, expiry timestamp, and content type, plus source provenance metadata (provider, URL, license).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "ns": {
   "type": "string",
   "description": "Namespace to group blobs, 1-64 chars of [A-Za-z0-9._:-]. e.g. \"uploads\"."
  },
  "key": {
   "type": "string",
   "description": "Key within the namespace, up to 256 chars. e.g. \"snapshot-42.json\"."
  },
  "data": {
   "type": "string",
   "minLength": 1,
   "description": "The file bytes, base64-encoded. Decoded size up to 3 MB."
  },
  "contentType": {
   "type": "string",
   "maxLength": 128,
   "description": "MIME type to return on read. e.g. \"application/json\", \"image/png\". Default application/octet-stream."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-blob-storage-put-write-endpoint-d46d51b6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
