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 do | Pinner (this guide) |
|---|---|
| Everything in the Minimal tier | Yes |
| Keep your own durable copy (pin) | Yes |
| Earn TTT for pinning | Yes — 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
- Keep the API on loopback (
127.0.0.1:5001) unless you really need LAN access. - Never allow
*. CORS only restricts which sites may call the API — it does not make the API safe for untrusted origins.
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:"
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
- "Local IPFS node not reachable — downloads won't be pinned." The daemon isn't running, or CORS isn't set. Downloads still work via the gateway; only pinning is skipped.
- Pinned but no reward. Confirm (a) your IPFS Peer ID is set on your profile, (b) the content stayed pinned for the whole period, and (c) rewards are enabled for the current phase.
- Contact from moderators about your uploads — reach the team on the Matrix channel. See Getting help.
How rewards work
- Only pinning of release content is rewarded — not uploading or approving.
- The reward per pin is dynamic: it scales with the token's remaining mintable supply, so it throttles automatically as supply grows.
- Rewards settle at period boundaries and require a number of independent verifiers to confirm your node was serving the content. Continuous availability is what pays.