Miner Guide
Complete guide for becoming a liquidity provider (miner) on Cartha using the web interface.
Web Interface: https://cartha.finance
CLI Repository: cartha-cli
PyPI Package: cartha-cli
Overview
For Principal Miners
Becoming a principal miner on Cartha involves three main steps:
Create a Bittensor wallet (coldkey + hotkey)
Register your hotkey to the Bittensor subnet (requires CLI)
Lock USDC funds to provide liquidity (done via web interface)
For Federated Miners
Federated miners deposit to a principal miner and do not need to register to the subnet. You only need:
EVM wallet (MetaMask) with Base ETH for gas
Base USDC to deposit to a principal miner's vault
Skip to Step 4: Lock Funds to deposit as a federated miner.
Prerequisites
Before you begin, ensure you have:
β Bittensor wallet set up (coldkey + hotkey) (If you are a principal miner)
β Python 3.11 installed (for CLI registration only)
β TAO in your Bittensor wallet (for registration)
β MetaMask (or other EVM wallet) installed
β Base Mainnet network added to MetaMask
β base ETH in your wallet (for gas fees)
β base USDC in your wallet (for liquidity provision)
Step 1: Setup Your Wallet
Add Base Mainnet Network to MetaMask
Open MetaMask and click the network dropdown
Click "Add Network" or "Add a network manually"
Enter the following details:
Click "Save" and switch to Base network
Quick Add (MetaMask):
You can also use the Chainlist website:
Visit https://chainlist.org/
Search for "Base"
Click "Connect Wallet" and approve the connection
Click "Add to MetaMask" and confirm
Get ETH (for gas fees)
You'll need ETH on Base Mainnet for transaction gas fees. You can:
Bridge ETH from Ethereum mainnet using the Base Bridge
Transfer from a centralized exchange that supports Base withdrawals
Get USDC (for liquidity)
You'll need USDC on Base Mainnet for liquidity provision. You can:
Bridge USDC from Ethereum mainnet using the Base Bridge
Transfer from a centralized exchange that supports Base withdrawals
Step 2: Create Bittensor Wallet
Before registering to the subnet, you need a Bittensor wallet (coldkey + hotkey). If you don't have one, create it using btcli:
This will create both a coldkey and hotkey. Make sure to:
Save your mnemonic phrase securely - you cannot recover your wallet without it
Fund your wallet with TAO - required for subnet registration
For more details on wallet management, see the Bittensor CLI documentation.
Step 3: Register to Subnet (Principal Miners Only)
Note for Federated Miners: If you're a federated miner depositing to a principal miner, skip this step and go directly to Step 4: Lock Funds. You don't need to register to the subnet - just prepare your EVM wallet with Base ETH (for gas) and Base USDC (for deposit).
To participate as a principal miner, you need to register your Bittensor hotkey to the Cartha subnet (SN35).
Option 1: Register via Cartha CLI (Recommended)
Interactive mode:
The CLI will prompt you for your wallet names.
Or with all arguments:
Option 2: Register via btcli
You can also register directly using btcli:
For more btcli options, see the Bittensor CLI documentation.
Registration Result
This will:
Register your hotkey to subnet 35 (mainnet)
Fetch your slot UID
Display your registration details
Important: Save the output, especially your hotkey SS58 address - you'll need it for locking funds via the web interface.
For Federated Miners
Federated miners deposit USDC to a principal miner's vault rather than registering their own hotkey. Here's what you need:
Requirements:
β EVM wallet (MetaMask or similar) connected to Base Mainnet
β Base ETH for gas fees
β Base USDC for your deposit
Important - Reward Distribution:
Rewards are NOT automatically distributed to federated miners
All rewards go to the principal miner's wallet
The principal miner is responsible for distributing rewards to their federated miners
Ensure you have a clear agreement with your principal miner regarding reward distribution terms
To deposit as a federated miner, proceed to Step 4: Lock Funds and use the principal miner's hotkey address.
Step 4: Lock Funds via Web Interface
Now that your hotkey is registered, you can lock USDC funds to provide liquidity using the Cartha web interface.
Navigate to "Become an LP"
Go to https://cartha.finance
Click on "Become an LP" in the navigation bar
You'll see the Federated Miners option with a lock flow form on the right
Enter Your Miner Details
Note: Make sure your wallet is connected to Base Mainnet network.
Enter your Principal Miner Hotkey - This is the SS58 address from your registration in Step 2

The system will verify your hotkey is registered on the subnet.
Select a Pool - Choose which trading pair you want to provide liquidity for (BTC/USD, ETH/USD, etc.)

Enter Amount - Specify how much USDC you want to lock

Set Lock Duration - Choose how many days to lock your funds (minimum 7 days, maximum 365 days)

Execute Transaction
Request Signature & Continue - Click the button to proceed

Approve USDC - First, you need to approve the vault contract to spend your USDC

Approve the transaction in your wallet (this requires gas fees in ETH).
Lock Position - After approval, the second transaction will lock your USDC in the vault

Confirm the lock transaction in your wallet.
Verify Your Position
Wait for confirmation - It may take 30 seconds to 5 minutes for the position to be processed

View your positions - Navigate to "My Positions" to see your active locks

You'll see:
Pool ID and trading pair
Principal Miner hotkey
Lock status
Initially locked amount
Total committed amount
Lock expiration date
Options to Extend or Top Up your position
Important Notes
Transaction Requirements:
β Must be connected to Base Mainnet network
β Need ETH for gas fees
β Need USDC in your wallet
β Two transactions required: Approve + Lock
Managing Positions:
Visit My Positions to view all your locks
Use "Extend" to increase lock duration
Use "Top Up" to add more USDC to existing position
Multiple Positions:
β Same hotkey + Same pool + Different EVM wallet β Creates separate position
β Same hotkey + Same pool + Same EVM wallet β Use "Top Up" instead
Rewards:
ALPHA emissions based on your deposit score (time Γ amount locked)
60% of trading fees generated by the 0xMarkets protocol
Lock before the epoch ends to be included in the next reward cycle
Longer lock periods increase your deposit score and rewards
Step 5: Check Your Miner Status (Optional)
You can verify your miner status using the CLI or by viewing "My Positions" on the web interface.
Via Web Interface (Recommended)
Simply visit https://cartha.finance/positions to see all your active positions.
Via CLI
This shows:
Miner state and pool information
All active pools with amounts and expiration dates
Days remaining countdown
Registration status
Available Pools
Network: Base Mainnet (Chain ID: 8453)
You can select any of these pools when locking funds via the web interface. The pool selection is handled automatically in the UI.
Common CLI Commands (Reference)
Note: Locking funds is now done via the web interface at https://cartha.finance, not through CLI.
Troubleshooting
"Hotkey not registered" or "Invalid hotkey"
Problem: Hotkey is not registered on the subnet
Solution:
Register your hotkey first using
cartha miner registerVerify you're using the correct network (
finney) and netuid (35)Check that you have TAO in your Bittensor wallet
Make sure you're entering the correct SS58 address in the web interface
"Transaction failed" in MetaMask
Problem: Approval or lock transaction failed
Solution:
Check Network: Make sure you're on Base Mainnet network (Chain ID: 8453)
Check Gas: Ensure you have enough ETH for gas fees
Check USDC Balance: Ensure you have enough USDC in your wallet
Check Approval: Make sure the first approval transaction completed successfully
Wait and Retry: Network congestion may cause delays - wait a bit and retry
"Insufficient funds" or "Not enough ETH"
Problem: Don't have enough ETH for gas
Solution:
Bridge ETH from Ethereum mainnet using the Base Bridge
Transfer from a centralized exchange that supports Base withdrawals
Wait for the transaction to complete
Retry your transaction
"USDC balance is zero" or "No USDC found"
Problem: Don't have USDC tokens
Solution:
Bridge USDC from Ethereum mainnet using the Base Bridge
Transfer from a centralized exchange that supports Base withdrawals
Verify receipt on BaseScan
"Position already exists"
Problem: You're trying to create a duplicate position with the same hotkey, pool, and wallet
Solution:
Use the Top Up button on the "My Positions" page to add more USDC to your existing position
Use the Extend button to increase the lock duration
Or use a different EVM wallet address to create a separate position
"Wallet not connected" or "Wrong network"
Problem: Your wallet is not connected or on the wrong network
Solution:
Click "Connect Wallet" in the top right corner
Select your wallet provider (MetaMask, Coinbase Wallet, WalletConnect, etc.)
Make sure you're connected to Base Mainnet network
If you're on the wrong network, switch to Base in your wallet
Position not showing after locking
Problem: Lock transaction succeeded but position doesn't appear
Solution:
Wait 30 seconds to 5 minutes for the verifier to process your lock
Click the Refresh button on "My Positions" page
The verifier automatically detects your lock and adds you to the upcoming epoch
If it still doesn't appear after 5 minutes, check the transaction on BaseScan
Quick Start Checklist
Before You Begin
Quick Setup Steps
Get Tokens
Bridge or transfer ETH to Base Mainnet
Bridge or transfer USDC to Base Mainnet
Ensure you have TAO for registration
Register Your Hotkey
Save your hotkey SS58 address!
Lock Funds via Web Interface
Go to https://cartha.finance
Click "Become an LP"
Enter your hotkey SS58 address
Choose pool, amount, and lock duration
Connect wallet (Base Mainnet network)
Approve USDC transaction
Confirm lock transaction
Verify Your Position
Visit https://cartha.finance/positions
Your position should appear within 30 seconds to 5 minutes
Ready to become a miner? Visit https://cartha.finance and start providing liquidity today!
Last updated

