Spuro — Arkiv + x402 backend

Agent-friendly paid storage, documented as a small SDK catalogue and consumed by the AI-Spuro CLI.

Spuro exposes a simple HTTP API on top of Arkiv, protected with x402 payments and automated via HTTPayer.

The AI-Spuro CLI provides a lightweight SDK where each function wraps one or more Spuro endpoints for agents.

Spuro backend

FastAPI service that wraps the Arkiv SDK behind x402, exposing endpoints like /entities and /entities/query for paid storage.

Spuro Functions SDK (client)

A lightweight TypeScript layer (used by the CLI) where each function such as createEntity or queryEntities is a Spuro Function.

AI-Spuro CLI agent

Example CLI agent that talks to Polkadot via PAPI, then uses the Spuro Functions SDK to store and query snapshots through Spuro.

Spuro Functions (SDK layer)

Client-side Spuro Functions that wrap Spuro's HTTP API and are paid via x402/HTTPayer.

Spuro Functions SDK

Lightweight TypeScript SDK providing functional wrappers around Spuro backend endpoints. Includes createEntity, readEntity, updateEntity, deleteEntity, queryEntities, and transferEntity. Works with any fetch client (native fetch, x402-fetch, etc.) and handles payload encoding/decoding.

createEntity / readEntity / updateEntity / deleteEntityqueryEntities with attribute-based filteringtransferEntity for ownership changesencodePayload / decodePayload utilitiesx402/HTTPayer integration via fetch clientZero runtime dependencies (bring your own fetch)

0.01 ETH per API call (configurable via API_COST)

FastAPI + ArkivUsed by AI-Spuro demo agent

Click to view detailed API endpoint documentation with request/response examples.View live API docs →

Click to view step-by-step setup instructions for backend and SDK installation.

Click to view code examples for using the API directly with cURL, Python, and TypeScript (without the SDK).