Shelby is building the first decentralised hot storage network, running on a dedicated fibre network.
- simple uploads
- fast retrieval
- global network
- developer ready
- ai-ready data access
- dynamic content monetised on read
- real-world data served at scale
- creator-owned platform
Complete step-by-step guide to set up Shelby CLI on Windows Subsystem for Linux (WSL) and upload your first file.
This guide will show you how to install the Shelby CLI and upload a storage file to Shelby directly from your terminal
- Node.js
- Npm
- Shelby CLI
- Ubuntu
sudo apt update
Enter sudo password
sudo apt install nodejs npm -y
node --version
npm --version
npm i -g @shelby-protocol/cli
shelby --version
shelby init
You'll be prompted for an API key
Go to GEOMI
- Create an account
- Head to Overview
- Click on Create API KEYS
- Complete the configuration form with the following settings:
- Network: Select Shelbynet from the available network options.
- Resource Name: Provide a descriptive name for your API resource.
- Usage Description: Briefly describe your intended use case.
- Create API key
- Enter the API key on your terminal
- Create or Update an Account: Choose Yes and Enter
- Enter default Name
- Enter Signature Scheme: Enter
- Enter Private Key: Leave Blank
- Configuration saved to
~/.shelby/config.yaml
cat ~/.shelby/config.yaml
shelby context list
shelby account list
Take note of your account address - you'll need it for funding.
You need two types of tokens:
- APT tokens - for gas fees
- ShelbyUSD tokens - for Shelby operations (uploads/downloads)
shelby faucet --no-open
Copy and paste the link into your browser
Click on Fund: Get both Aptos token and Shelby tokens
shelby account balance
You should see both APT and ShelbyUSD tokens in your balance.
echo Hello > test.txt
shelby upload ~/test.txt files/test.txt -e tomorrow --assume-yes
Uploads filename.txt to Shelby under a custom path or name (files/filename.txt), expiring tomorrow (auto-confirms payment)
Expiration date/time (required). Examples: tomorrow, in 2 days, next Friday, 2026-01-24, UNIX timestamp
Expiration examples you can use:
tomorrowin 2 daysnext Friday2025-12-31
shelby account blobs
This lists all blobs stored in your account. You should see your uploaded file.
shelby download files/test.txt ./test-downloaded.txt
- You need
ShelbyUSD tokens, not just APT - Run shelby faucet --no-open and fund via the browser
- Check balance: shelby account balance
- Make sure npm's global bin directory is in your PATH
- Try:
export PATH="$HOME/.npm-global/bin:$PATH" - Add to
~/.bashrcto make permanent
WSL paths: /home/username/file.txt
Windows paths from WSL: /mnt/c/Users/YourName/Desktop/file.txt
shelby context list
shelby account list
shelby account balance
shelby upload <local-path> <blob-name> -e <expiration> --assume-yes
shelby account blobs
shelby download <blob-name> <local-path>
shelby faucet --no-open