Overview
The MPP Server is a payment-gated IPFS gateway built on the Machine Payments Protocol (MPP). It uses the HTTP 402 challenge-response pattern:- Client makes a request to upload or download a file
- Server responds with
402 Payment Requiredand a payment challenge - Client pays USDC on the Tempo network
- Client retries the request with proof of payment
- Server verifies payment and fulfills the request
Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /v1/pin/public?fileSize={bytes} | Get a signed upload URL |
GET | /v1/pin/public/:cid | Download a file by CID |
Upload
Send aPOST request with the fileSize query parameter (in bytes). After payment, the server returns a signed Pinata upload URL that you can use to upload your file directly.
Pricing: fileSize (GB) x $0.10 x 12 months, minimum $0.01 USDC
| File Size | Cost |
|---|---|
| 1 KB | $0.01 (minimum) |
| 1 MB | $0.01 (minimum) |
| 1 GB | $1.20 |
| 10 GB | $12.00 |
Download
Send aGET request with the file’s CID. After payment, the server proxies the file from Pinata’s IPFS gateway with the correct Content-Type and Content-Disposition headers.
Pricing: Flat $0.01 USDC per download
Network
| Property | Value |
|---|---|
| Chain | Tempo Mainnet |
| Chain ID | 4217 |
| RPC | https://rpc.tempo.xyz |
| Token | USDC (0x20C000000000000000000000b9537d11c60E8b50) |
Production URL
The Pinata-hosted MPP Server is available at:Next Steps
Quick Start
Upload your first file with MPP
Self-Hosting
Deploy your own MPP Server