# Tack > IPFS pinning and content retrieval for agents. Pay with USDC on Taiko or USDC.e on Tempo — no accounts, no pinning API keys. ## Overview Tack is an IPFS pinning service that accepts machine payments via x402 and MPP. Pin existing CIDs, upload files, or retrieve content through the gateway. Wallet identity is derived from payment — no registration required. Hosted at: https://tack.inferenceroom.ai ## Pricing $0.1 / GB / month. Minimum charge $0.001 per pin, capped at $50 per pin. Pin duration 1–24 months (default: 1 month). Price formula: min(max($0.001, sizeGB × $0.1 × durationMonths), $50). ## Authentication No accounts. Paying for a pin returns an `x-wallet-auth-token` bearer token. Use it as `Authorization: Bearer ` on owner endpoints. ## Payment Protocols - x402: `payment-signature` header, USDC on Taiko Alethia (EIP-3009 transferWithAuthorization) - MPP: `Authorization: Payment` header, USDC.e on Tempo (mppx SDK) Both protocols are accepted simultaneously on all paid endpoints. ## Endpoints ### Paid (payment required) - POST /pins — Pin content by CID. Body: { cid, name?, origins?, meta? }. Optional header: X-Pin-Duration-Months. - POST /upload — Upload a file (multipart/form-data, field "file", max 100MB). Returns { cid, size } — pass `size` back via the `x-content-size-bytes` header on a subsequent `POST /pins` so the pin record records the size. ### Gateway - GET /ipfs/:cid — Retrieve content by CID. Free by default; owners may set a retrieval price via meta.retrievalPrice. ### Owner (bearer token required) - GET /pins — List your pins. Query: cid, name, status, before, after, limit, offset. - GET /pins/:requestid — Get a specific pin by request ID. - POST /pins/:requestid — Replace a pin. Same body as POST /pins. - DELETE /pins/:requestid — Delete a pin. ## Pinning Service API Conforms to the IPFS Pinning Service API spec: https://ipfs.github.io/pinning-services-api-spec/ ## Agent Card Machine-readable A2A agent card: GET /.well-known/agent.json