Storj¶
Category: Storage Sharing | Status: Active
Website: https://www.storj.io
Description¶
Storj is a decentralized cloud storage network where you earn by renting out your unused disk space. Run the storage node via Docker and get paid $1.35/TB stored per month plus $1/TB egress (rates since 1 September 2026). Payouts are monthly in USDC, a US-dollar stablecoin, on Ethereum mainnet to a wallet you control, once the balance clears a fee-based minimum (STORJ token until the September 2026 payout). Requires at least 550GB of available disk space and a stable internet connection. No account or signup needed -- nodes are permissionless since mid-2025.
Storj Labs is in Chapter 11 (October 2026)
Storj Labs filed for Chapter 11 on 26 July 2026 (US Bankruptcy Court, Northern District of West Virginia, case 5:26-bk-00512) to restructure legacy debt. The network keeps running and Storj keeps paying active nodes, but node earnings from before the filing are frozen until the court rules on them. The STORJ token is down about 98% from its 2021 peak. Binance delisted it on 3 September 2026, and Coinbase suspended trading in it on 28 September 2026. A new node withholds part of its earnings during its first nine months and fills only as customer demand allows, so starting one now ties a long payback to a company in restructuring that could still wind down.
Earning Estimates¶
| Metric | Value |
|---|---|
| Monthly range | $0 - $15 (estimate) |
| Per | TB |
| Minimum payout | 4x the Ethereum transaction fee; smaller balances roll over |
| Payout frequency | Monthly |
| Payment methods | Crypto |
$1.35/TB stored + $1/TB egress + $1/TB audit/repair since 1 September 2026. Earnings scale with data stored and node age. The first 9 months withhold part of the earnings (see Important Notes). Port 28967 (TCP+UDP) must be forwarded.
Requirements¶
| Requirement | Value |
|---|---|
| Residential IP | No |
| Minimum bandwidth | 5 Mbps upload |
| GPU required | No |
| Minimum storage | 550GB |
| Supported platforms | Docker, Windows, Linux |
Setup Instructions¶
1. No account needed¶
Storj storage nodes are permissionless — no signup, no account, no auth token. You just run the software. The old authorization token requirement was removed in mid-2025.
Documentation has moved to storj.dev/node.
2. Create a node identity¶
Before running a storage node, you must generate a cryptographic identity. This involves computing a proof-of-work to difficulty 36, which takes several hours of CPU time.
# Download the identity binary
curl -L https://github.com/storj/storj/releases/latest/download/identity_linux_amd64.zip -o identity.zip
unzip identity.zip
# Generate identity (CPU-intensive, takes hours)
nohup ./identity create storagenode --identity-dir /path/to/identity/ > /tmp/storj-identity.log 2>&1 &
The process outputs progress like Generated 50000 keys; best difficulty so far: 34. It's done when it reaches difficulty 36 and exits. Files created: ca.cert, ca.key, identity.cert, identity.key.
3. Port forwarding¶
Forward these ports through your router to the server running the node: - TCP+UDP 28967 — Storage node traffic (required, UDP for QUIC) - TCP 14002 — Dashboard/monitoring (optional, local access only)
4. Get an Ethereum wallet address¶
You need an Ethereum wallet address whose private key you control to receive USDC payouts. Storj paid in STORJ token until the September 2026 payout and pays in USDC on Ethereum mainnet from the October 2026 payout on; zkSync Era payouts ended on 1 September 2026. Any self-custodial wallet works (MetaMask, Trust Wallet, Ledger, etc.), and if you already have an Ethereum address from other DePIN services you can reuse it. Do not use an exchange deposit address. Use the same address on every node you run: Storj pays a wallet only when the transaction fee is at most a quarter of the amount, so the minimum moves with Ethereum gas (the docs' examples land between $50 and $70) and a balance below it rolls into the next month.
5. Deploy with CashPilot¶
In the CashPilot web UI, find Storj in the service catalog and click Deploy. You'll be asked for:
- Wallet address — your Ethereum wallet for USDC payouts
- Email — for operator notifications
- External address — a DDNS hostname with port (e.g. mynode.ddns.net:28967). A literal public IP works until your ISP silently re-provisions it — from that day satellites dial a dead address and count the node offline while everything looks healthy locally
- Storage allocation — how much disk space to offer (e.g. 2TB)
- Identity path — host directory where your identity files are stored
- Storage path — host directory on a spinning disk (HDD) for storing data
CashPilot will handle the container creation with proper volume mounts.
Docker Configuration¶
- Image:
storjlabs/storagenode - Platforms: linux/amd64, linux/arm64, linux/arm/v5
Environment Variables¶
| Variable | Label | Required | Secret | Description |
|---|---|---|---|---|
WALLET |
Wallet address | Yes | No | Ethereum wallet address for USDC payouts, self-custodial |
EMAIL |
Yes | No | Email address for operator notifications | |
ADDRESS |
External address | Yes | No | DDNS hostname with port (e.g. mynode.ddns.net:28967) — prefer over a literal IP |
STORAGE |
Storage allocation | Yes | No | Maximum disk space to allocate (e.g. 2TB) (default: 1TB) |
IDENTITY_DIR |
Identity directory | Yes | No | Host path where identity files are stored (ca.cert, identity.cert, etc.) |
STORAGE_DIR |
Storage directory | Yes | No | Host path on a spinning disk (HDD) for Storj data storage |
Important Notes¶
- Use a DDNS hostname for
ADDRESS, never a literal IP. Satellites dial your node back at exactly the address it advertises. Residential ISPs re-provision public IPs without notice, and when that happens a node advertising the old literal IP is counted offline around the clock — container healthy, dashboard green, earnings from new data at zero — until someone notices the provider's offline emails. A dynamic-DNS hostname (DuckDNS, Cloudflare DDNS, your router's DDNS client) self-heals through an IP change. If satellites cannot reach the node, CashPilot's producer state for Storj reports it with the exact reason; you can also check yourself withcurl -s http://<server>:14002/api/sno/(lastPingedstale orquicStatus: "Misconfigured"means unreachable). - No signup required: Storj nodes are permissionless since mid-2025. No auth token, no account creation.
- Held-back earnings: a new node's satellites withhold 75% of its earnings in months 1 to 3, 50% in months 4 to 6 and 25% in months 7 to 9. Half of the held amount comes back in month 16; the rest only when the node exits gracefully. Earnings from before Storj Labs' 26 July 2026 Chapter 11 filing are frozen until the bankruptcy court rules on them.
- One node per public IP: Storj recommends one node per public IP for optimal satellite allocation. Nodes on the same /24 subnet share data allocation.
- Uptime matters: Nodes with poor uptime get less data. Aim for 99.5%+ uptime.
- Disk selection: Always use spinning disks (HDD). Storj data is cold storage — IOPS don't matter, capacity does. SSDs offer no advantage and cost more per TB.
- QUIC: UDP port 28967 enables the QUIC protocol for faster transfers. Forward both TCP and UDP.