Torrentech

Tier 2 · Pinner

Run a node, earn TTT

The Pinner tier runs a local IPFS (Kubo) node so your downloads are pinned — a durable copy you serve to the network — and so you become eligible for TTT pin rewards.

Rewards timing

On Arbitrum Sepolia (dev), the contracts and pin-reward scheduler work once verifiers are registered. Production (phase 1) keeps rewards off — no verifiers, no scheduler — until validation completes. Pinning and downloads work immediately; TTT payouts need the rewards phase enabled and your Peer ID on your profile.

What you can doPinner (this guide)
Everything in the Minimal tierYes
Keep your own durable copy (pin)Yes
Earn TTT for pinningYes — when rewards are on

You still need a wallet on Arbitrum One (see the Downloader guide) to connect, pay or receive, and to link your node to your account.

1. Install Kubo

Use IPFS Desktop (easiest, has a GUI) or the Kubo CLI:

ipfs init --profile server
ipfs daemon

Your node exposes a gateway on 8080 and an RPC API on 5001. Keep the API on 127.0.0.1 unless you specifically need LAN access.

2. Allow the app to reach your node (CORS)

By default Kubo rejects requests from web pages, so pinning is silently skipped. Allow the exact origin you load the app from:

# Replace with the exact origin (scheme + host + port) you load the app from
IPFS_LAN_ORIGINS="https://app.torrentech.org" npm run ipfs:configure-lan
ipfs shutdown && ipfs daemon

3. Tell the platform which node is yours

In the app: Edit profile → IPFS Peer ID. Find your Peer ID with:

ipfs id

Pin verification maps your Peer ID to your wallet so rewards can be credited to you. Without this, your pins can't be attributed to you and you won't earn.

4. Download, pin, and keep it pinned

On a release, use Download and Pin: the app pins the release CID to your node and saves the files. Content pins are named like tT release: <artist> - <album> [<format>] (per-format CIDs):

ipfs pin ls --type=recursive
ipfs pin ls --names | grep "tT release:"
This is what pays

Keep your daemon running and the content pinned across reward periods. Verification runs repeated checks, and TTT is credited only for continuous availability — a single spot check is not enough. If your node goes offline during a period, that period won't count.

5. Tuning for larger nodes (optional)

If you serve a lot of content, follow the project's public-node tuning guidance: Reprovider.Strategy=roots, connection limits, and an SSD-backed datastore. At large scale, flatfs and reprovide-all do not scale — use Pebble or Badger on SSD.

Troubleshooting

How rewards work