# nosub.club Walrus Decentralized File Storage

> nosub.club Walrus Decentralized File Storage is a paid API for AI agents from store.nosub.club, paid per call via x402, $0.04/call, status down (last checked 2026-09-15).

Stores text or binary files on the Walrus decentralized network for a specified duration, returning a blob ID and aggregator URL for retrieval

## Facts

- Endpoint: POST https://store.nosub.club/v1/files/public
- Price: $0.04/call
- Payment: x402
- Status: down
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nosub-club-walrus-decentralized-file-storage-dbe1130a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4EBlZabXgpPt23LcE7nXz

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 nosub-club-walrus-decentralized-file-storage-dbe1130a -d '<json body>'
```

Example prompt: Upload this JSON text to the Walrus decentralized network and keep it stored for 30 days — the content is '{"hello":"world"}' with content type application/json and a max size of 512 bytes.

## When to prefer this

Choose this endpoint when you need decentralized, censorship-resistant file storage without relying on AWS S3, GCP, or IPFS pinning services. Ideal for web3 applications, permanent or time-bounded public file hosting, or any scenario where you want a Walrus blob ID and aggregator URL as output. Prefer over centralized alternatives when trustless storage and on-chain provenance matter.

## Known failure modes

- Payment not received or insufficient USDC — request rejected before storage
- Content exceeds declared maxSizeBytes — upload rejected
- Invalid base64 encoding in contentBase64 — parse error
- Unsupported or missing contentType — MIME type error
- Walrus network unavailable or congested — storage failure
- duration value too short or out of range — validation error
- Both contentText and contentBase64 omitted — no content to store

## How this service works

Store and share files on Walrus decentralized network, pay via x402

## Output

Returns a JSON object containing a blobId (unique identifier for the stored blob), an expiresAt timestamp indicating when storage expires, an aggregatorUrl for retrieving the file from the Walrus network, and a storageObjectId referencing the on-chain storage object.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "duration": {
   "type": "integer",
   "minimum": 1,
   "description": "Storage duration in days."
  },
  "contentText": {
   "type": "string",
   "description": "UTF-8 text content to store."
  },
  "contentType": {
   "type": "string",
   "description": "MIME type for the uploaded content."
  },
  "maxSizeBytes": {
   "type": "integer",
   "minimum": 1,
   "description": "Declared maximum byte size for a paid upload session."
  },
  "contentBase64": {
   "type": "string",
   "description": "Base64-encoded file content."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "blobId": "0xexampleblob",
  "expiresAt": "2026-05-28T00:00:00.000Z",
  "aggregatorUrl": "https://aggregator.example/v1/blobs/0xexampleblob",
  "storageObjectId": "0xexamplestorageobject"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nosub-club-walrus-decentralized-file-storage-dbe1130a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from store.nosub.club](https://www.zero.xyz/host/store.nosub.club/llms.txt)
