MPPtempoquality 0.50

Upload files to IPFS via Pinata without an account — pay per request with Tempo stablecoins over MPP.

Price
per_call
Protocol
mpp
Verified
no

What it does

This MPP endpoint lets you upload public files to IPFS through Pinata's infrastructure without creating an account or using an API key. Payment is handled inline via the Machine Payments Protocol (MPP) using Tempo stablecoins on chain 4217. The endpoint returns a signed upload URL that you then use with the Pinata SDK to complete the file upload.

The payment challenge advertises an amount of 1000 base units in a stablecoin on the Tempo L2 (chain ID 4217). Assuming 6 decimals (typical for stablecoins), this translates to $0.001 per request as a base charge; the listing title suggests dynamic pricing based on file size ($0.10/GB/month, minimum $0.01). The caller passes a `fileSize` query parameter so the server can compute the appropriate charge. Once paid, the response provides a pre-signed URL for uploading the actual file content via the Pinata SDK's `upload.public.file().url()` method.

Uploaded content is publicly available on any IPFS gateway or through a Pinata Dedicated IPFS Gateway. The intent is "charge" (one-shot payment per call), and settlement occurs on Tempo L2. No API key or Pinata account is required — the MPP payment itself authorizes the request.

Capabilities

ipfs-uploadipfs-pinningpublic-file-hostingaccount-free-accesstempo-settlementmpp-paymentfile-storage

Use cases

  • Uploading files to IPFS from an AI agent or automated pipeline without managing API keys
  • Paying per-upload for decentralized file storage using crypto micropayments
  • Storing public content on IPFS for dApps, NFT metadata, or static assets
  • Enabling account-free IPFS uploads in client-side or serverless applications

Fit

Best for

  • Agents or bots that need to store files on IPFS without pre-provisioned credentials
  • One-off or low-volume IPFS uploads where account setup is undesirable
  • Crypto-native workflows that can settle payments on Tempo L2

Not for

  • High-volume bulk uploads where a traditional Pinata subscription would be cheaper
  • Private or encrypted file storage (this endpoint is for public IPFS content only)
  • Users without a Tempo-compatible wallet or stablecoin balance

Quick start

import { Mppx, tempo } from 'mppx/client'
import { privateKeyToAccount } from 'viem/accounts'
import { PinataSDK } from 'pinata'

const account = privateKeyToAccount('0xabc…123')
Mppx.create({ methods: [tempo({ account })] })

const fileSize = 1024 // bytes
const res = await fetch(
  `https://mpp.pinata.cloud/v1/pin/public?fileSize=${fileSize}`,
  { method: 'POST' }
)
const { url } = await res.json()

const pinata = new PinataSDK()
const file = new File(['hello world'], 'hello.txt')
const upload = await pinata.upload.public.file(file).url(url)
console.log(upload)

Example

Response

{
  "url": "https://uploads.pinata.cloud/v3/files/sign?expires=1713550306&signature=abc123..."
}

Endpoint

Transporthttp
Protocolmpp
CurrencypathUSD

Quality

0.50/ 1.00

The endpoint is live (402 challenge captured) and the landing page provides a working code example, but there is no OpenAPI schema, no formal docs (docs/api/pricing all 404), and the response shape is inferred from the code snippet rather than documented. Pricing details are partially stated in the listing title but not confirmed by crawled content. The stablecoin currency address and decimal count are not independently verified.

Warnings

  • No OpenAPI or formal API documentation available — /docs, /api, and /pricing all return 404.
  • The stablecoin currency at address 0x20C0…8b50 on chain 4217 is not independently identified; 6 decimals is assumed but unconfirmed.
  • Dynamic pricing model ($0.10/GB/month, min $0.01) is stated in the existing listing title but not corroborated by any crawled page.
  • Response JSON shape ({url}) is inferred from the landing page code example, not from a schema or documentation.

Citations

Provenance

Indexed frommpp_dev
Enriched2026-04-19 16:07:17Z · anthropic/claude-opus-4.6 · v2
First seen2026-04-18
Last seen2026-04-22

Agent access