DEV Community

Nacho@BWS
Nacho@BWS

Posted on

IPFS.NINJA: A Dead-Simple IPFS Pinning Service for Web3 Developers

If you've ever tried to pin files to IPFS for a dApp, NFT project, or decentralized website, you've run into the same friction: setting up a Kubo node is overkill, existing pinning services have gotten expensive or shut down free tiers, and the API docs are often a mess.

IPFS.NINJA is a new entrant that takes a different approach — ruthlessly simple, transparent pricing, and designed around the actual developer workflow.

What It Does

At its core, IPFS.NINJA gives you:

1. File Upload & CID Pinning

Upload files directly through the dashboard or API. Already have a CID on the network? Pin it by reference — no re-upload needed.

2. Private Dedicated Gateways

Each account gets its own *.gw.ipfs.ninja subdomain. Unlike public gateways that are shared (and often rate-limited), your gateway bandwidth is yours. The free plan includes 5 GB/month; paid plans scale up to 50 GB per gateway.

3. Signed Upload Tokens

This is the feature most useful for dApps. You can generate time-limited, scoped upload tokens that let your end-users upload directly to IPFS from the frontend — without ever exposing your master API key. This is critical for any NFT minting flow where users upload their own assets.

4. IPNS Support

Paid plans include IPNS names — mutable pointers that always resolve to your latest CID. If you've ever had to update a smart contract just because you changed a metadata JSON, IPNS solves that problem cleanly.

5. Image Optimization

Built-in image optimization for assets served through the gateway — useful for NFT thumbnails and media-heavy dApps.

Pricing

Plan Price Storage Files Gateways
Dharma (Free) $0 1 GB 500 1 (5 GB/mo BW)
Bodhi $5/mo 10 GB 50,000 5 (10 GB/mo ea.)
Nirvana $29/mo 100 GB 500,000 10 (50 GB/mo ea.)

No bandwidth overage fees on any plan — bandwidth resets monthly and you just hit a soft cap. Storage is cumulative (doesn't reset), so you pay for what you keep.

Quick API Example

# Upload a file
curl -X POST https://ipfs.ninja/api/v1/files \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@metadata.json"

# Response includes your CID + gateway URL
# { "cid": "bafybeig...", "url": "https://abc123.gw.ipfs.ninja/ipfs/bafybeig..." }
Enter fullscreen mode Exit fullscreen mode

Signed Upload Tokens — A Closer Look

For dApp developers, signed upload tokens are the standout feature. Here's why they matter:

In a typical NFT minting flow, users need to upload their image and metadata to IPFS before the mint transaction. The naive approach is to proxy uploads through your backend — every file goes through your server, adding latency and cost.

With signed upload tokens, you can issue a short-lived, scoped token server-side and send it to the client. The client uploads directly to IPFS.NINJA without ever seeing your master API key. The token can be restricted by file size, file type, and expiry time.

// Server-side: generate a signed token
const response = await fetch('https://ipfs.ninja/api/v1/upload-tokens', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    maxFileSize: 10485760, // 10MB
    expiresIn: 3600        // 1 hour
  })
});
const { token } = await response.json();

// Send token to client — they upload directly
Enter fullscreen mode Exit fullscreen mode

Who Is This For?

  • NFT builders — pin metadata + media, serve through a private gateway, use IPNS so your tokenURI never goes stale
  • dApp developers — use signed upload tokens so users upload their own content securely
  • Decentralized website hosting — deploy static sites to IPFS with a stable gateway URL
  • Teams migrating off nft.storage or Infura IPFS — simple REST API, clean dashboard, no surprises

Why Now?

The IPFS pinning landscape shifted dramatically over the past two years. nft.storage ended its free tier. Infura deprecated its IPFS service. web3.storage went through multiple pivots. Developers who built on these services were left scrambling.

IPFS.NINJA enters with a clear positioning: simple, transparent, and here to stay. The free tier is real (1 GB, 500 files, private gateway) and the paid plans are priced for actual indie developers and small teams — not just enterprise.

Bottom Line

IPFS.NINJA is worth trying if you want an IPFS pinning service that gets out of your way. The free tier is genuinely useful, and the $5/month Bodhi plan covers most small-to-medium projects comfortably.

Check it out at ipfs.ninja and share your thoughts in the comments — especially if you're migrating from another service and have specific requirements.

Top comments (0)