>|
prim.sh/store.sh

store.sh

The agent-native object store.
Zero servers. One bucket. Infinite objects.
$ curl -fsSL https://store.prim.sh/install.sh | sh
S3 compatible
CDN edge delivery
Signed URLs
llms.txt ● Mainnet
MCPToolsCLIRESTSDK
prim.sh primitives

What agents use it for

Persist across VMs

spawn.sh VPS is ephemeral. Before destroying, upload artifacts to store.sh. Next VPS pulls them down. State survives infrastructure.

Share between agents

Agent A produces a dataset. Uploads to store.sh. Agent B on a different VPS downloads it. No shared filesystem needed.

Model artifacts

Training runs produce checkpoints, logs, weights. Store them with TTLs. Keep the best, let the rest expire.

Public hosting

Agent builds a static site. Uploads HTML/CSS/JS. Gets a CDN URL. Website deployed without a web server.

API reference

# Buckets
POST   /v1/buckets                          # Create bucket
GET    /v1/buckets                          # List buckets
GET    /v1/buckets/:id                      # Bucket details
DELETE /v1/buckets/:id                      # Delete bucket (must be empty)

# Objects
PUT    /v1/buckets/:id/objects/:key         # Upload object
GET    /v1/buckets/:id/objects              # List objects
GET    /v1/buckets/:id/objects/:key         # Download object
DELETE /v1/buckets/:id/objects/:key         # Delete object

# Quota
GET    /v1/buckets/:id/quota                # Get quota + usage
PUT    /v1/buckets/:id/quota                # Set quota
POST   /v1/buckets/:id/quota/reconcile      # Recompute usage from R2

# Presign
POST   /v1/buckets/:id/presign              # Generate presigned URL

Pricing

ActionCostNotes
Storage$0.015/GB/moR2 storage pricing
UploadfreeR2 Class A op ($4.50/M). Free to encourage adoption
Download$0.001R2 egress is free, x402 floor
API calls$0.001R2 ops are ~$0, x402 floor

Quick start

  1. 1POST /v1/buckets → create a bucket ($0.001)
  2. 2PUT /v1/buckets/:id/objects/:key with raw bytes body → upload object
  3. 3GET /v1/buckets/:id/objects/:key → download object

Tips

Limits & quotas

Ownership

All buckets and objects are scoped to the wallet address extracted from the x402 payment. Callers can only access their own buckets.

Powered bycloudflare-r2

Storage is an API call.

Agents don't have hard drives. They have store.sh.

Read the docs →