LIVE · Taiko · Base · Tempo

Storage for agents.

Your agent uploads a file and pays a fraction of a cent in USDC. Tack hands back an address any other agent can read. No signup, no API keys, no platform to live inside.

Try the pricing
Min per pin
$0.001
First pin
~30s
Signups
0
Works with any agent
Claude Code Codex OpenClaw Hermes + any HTTP client

Pin-for-humans doesn’t work for agents.

  Pinata · NFT.Storage · Storacha Tack
Identity Email + API key Wallet address
Payment Credit card, monthly plan On-chain USDC, per pin
Minimum $20 / month $0.001 / pin
Machine-native HTTP 402 + A2A agent card

Everything they make.

  1. 01 Long-term memory State, embeddings, context. Recall across runs by CID.
  2. 02 Generated artifacts Images, PDFs, code bundles, video. The run’s outputs, pinned.
  3. 03 RAG corpora Shared knowledge across an agent fleet. Replace by pinning a new CID.
  4. 04 Task receipts On-chain payment, off-chain content. Verifiable provenance per job.
  5. 05 Inter-agent handoffs CIDs as pointers. One agent pins, another retrieves.
  6. 06 Replayable outputs Cache deterministic tool calls. Skip the work if the CID resolves.

Three round-trips. One signature.

  1. STEP 01 Agent POSTs /pins. Tack returns 402 with the price.
  2. STEP 02 Agent signs one on-chain payment. x402 on Taiko or Base, MPP on Tempo.
  3. STEP 03 202 Accepted. Pinned. Wallet owns it.

One endpoint. Point your agent.

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme, toClientEvmSigner } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
import { createPublicClient, http } from "viem";
import { taiko, base } from "viem/chains";

const account  = privateKeyToAccount("0x...");  // holds USDC on Taiko or Base
const taikoSig = toClientEvmSigner(account, createPublicClient({ chain: taiko, transport: http() }));
const baseSig  = toClientEvmSigner(account, createPublicClient({ chain: base,  transport: http() }));

const pay = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [
    { network: "eip155:167000", client: new ExactEvmScheme(taikoSig) }, // Taiko
    { network: "eip155:8453",   client: new ExactEvmScheme(baseSig)  }, // Base
  ],
});

// Pin a CID for 6 months. USDC on whichever chain your wallet holds.
const res = await pay("https://tack.taiko.xyz/pins", {
  method: "POST",
  headers: { "X-Pin-Duration-Months": "6" },
  body: JSON.stringify({ cid: "Qm..." }),
});
Two protocols. Three chains. Same endpoints.
your agent picks whichever its wallet already holds
x402.
Taiko Base

HTTP 402 + EIP-3009. Your agent signs a transferWithAuthorization once — a facilitator settles it on whichever chain it already holds USDC. No gas needed.

AssetUSDC
Chains167000 · Taiko  ·  8453 · Base
SchemeExactEvm
Headerpayment-signature
MPP.
Tempo

Machine Payment Protocol + TIP-20. Tack re-reads the on-chain Transfer event to bind the pin to the EOA that signed — not the relay.

AssetUSDC.e
Chain4217 · Tempo
SchemeTIP-20 Transfer
HeaderAuthorization: Payment

Pay per pin.

No plans. No minimums. The slider below is the real formula — try it.

→ Live quote
$0.293
500 MB · 6 months  · settled on-chain
Size 500 MB
Duration 6 months
vs · Pinata’s x402 offer
Pay for 1 month, not 12.
12× cheaper* for a short pin on Tack vs Pinata’s 12‑month lock-in.
Pinata x402open-source demo Tacklive in production
Price · 1 GB · 1 mo $1.20 $0.1012× cheaper
Duration Fixed 12 months 1–24 months (you pick)
Chains Base Taiko · Base · Tempo
Payment protocols x402 x402 · MPP
IPFS Pinning Service API
A2A agent card
* Same $0.10 / GB·month rate. Pinata’s demo locks every pin to 12 months; Tack lets you pick 1–24. At 3 mo it’s 4× cheaper, 6 mo 2×, 12 mo the same.

Built-in

  • Settled in USDC on Taiko or Base, or USDC.e on Tempo.
  • Retrieval is free. Paywalls are opt-in, per CID.
  • Pins auto-expire. No recurring charges.
  • Owner ops — list, replace, delete — don’t re-charge.
How it’s calculated
price = clamp(sizeGB × $0.10 × months, $0.001, $50)

Size is binary (1 GB = 1,073,741,824 bytes). Duration is 1–24 months, set with X-Pin-Duration-Months. Settlement rounds up to the next asset unit.

Standard spec.

IPFS Pinning Service API spec, plus /upload, a gateway with optional paywalls, and an A2A agent card.

POST
/pins
Pin a CID. 402 with price → sign → retry.
x402 · MPP
POST
/upload
Upload bytes (up to 100 MB) and pin in one request.
x402 · MPP
GET
/pins
List pins your wallet owns.
bearer
GET
/pins/:requestid
Status for a specific pin request.
bearer
POST
/pins/:requestid
Replace a pin, keep the request id.
bearer
DELETE
/pins/:requestid
Unpin content your wallet owns.
bearer
GET
/ipfs/:cid
Retrieve content. Ranges, ETags, optional paywall.
public
GET
/.well-known/agent.json
A2A agent card. Machines discover, verify, pay.
public

Give your agent a place to keep things.

One endpoint away.

Agent card
Taiko 167000
Base 8453
Tempo 4217
IPFS Kubo
A2A agent card