Principal Miner Guide

Step-by-step guide to becoming a principal miner on Cartha β€” register your hotkey, lock capital, set up automated rewards, and get listed for federated miners to find you.


Overview

A principal miner operates a registered Bittensor hotkey on Cartha subnet (SN35). You lock USDC to provide liquidity for 0xMarketsarrow-up-right and earn ALPHA emissions based on your deposit score.

You can run in two modes:

Mode
Description

Private (Solo)

Lock only your own capital, receive 100% of emissions

Public (Investment Manager)

Accept capital from federated miners, charge a commission, distribute rewards

Most principal miners start private and go public once they're comfortable with operations.

Important Requirements

  • Minimum 100,000 USDC portfolio β€” Your total locked USDC across all positions (your own + all federated miners) must reach at least $100K before your miner starts receiving ALPHA emissions. Below this threshold, your hotkey is registered but earns nothing.

  • Always-on distribution node β€” If you run in public mode, the automated rewards node (Step 4) must stay running 24/7. It monitors epochs, sweeps ALPHA, and processes claims for your federated miners. If the node goes down, reward distribution stops until it's back online.


Prerequisites

Before you begin, make sure you have:

  • βœ… EVM wallet (MetaMask or similar) on Base Mainnet with ETH and USDC β€” see the Miner Guide for wallet setup

  • βœ… Python 3.11+ installed (for CLI registration)

  • βœ… TAO in a Bittensor wallet (for subnet registration)


Step 1: Create a Bittensor Wallet

You need a Bittensor wallet (coldkey + hotkey) to register on the subnet.

This creates both a coldkey and hotkey. Important:

  • Save your mnemonic phrase β€” you cannot recover your wallet without it

  • Fund your wallet with TAO β€” required for subnet registration

See the Bittensor CLI docsarrow-up-right for more on wallet management.


Step 2: Register to the Subnet

Register your hotkey to Cartha subnet (SN35).

Option B: btcli

After registration you'll see your hotkey SS58 address β€” save it, you'll need it for locking funds.


Step 3: Lock Funds

Now lock USDC to provide liquidity via the web interface.

  1. Go to Carthaarrow-up-right β†’ "Become an LP"

  2. Enter your hotkey (the SS58 address from Step 2)

Paste Hotkey
  1. Select a pool (BTC/USD, ETH/USD, GOLD/USD, etc.)

Select Pool
  1. Enter amount and set lock duration (7–365 days)

Enter Amount
Enter Lock Days
  1. Execute the transaction β€” two steps: Approve USDC, then Confirm Lock

Continue
Approve USDC
Lock Position
  1. Verify β€” your position should appear at liquidity.0xmarkets.io/positionsarrow-up-right within 30 seconds to 5 minutes

My Positions

Lock by Thursday 23:00 UTC to be included in the next epoch. See Weekly Epochs for timing details.

100K minimum: Your miner won't start receiving ALPHA emissions until the total USDC locked under your hotkey (your own + all federated miners) reaches at least $100,000. Plan your initial capital and federated miner outreach accordingly.


Step 4: Set Up Automated Rewards (Public Mode)

If you want to accept federated miners, deploy the rewards system so they can track earnings and claim ALPHA directly from your dashboard.

Deploy the Template

This starts a PostgreSQL database, API server (port 8100), and epoch monitor.

Key Configuration

Variable
Description

MINER_HOTKEY

Your Bittensor hotkey (SS58)

MINER_COLDKEY

Your Bittensor coldkey (SS58)

AGGREGATOR_HOTKEY

Aggregator hotkey for reward accumulation

WALLET_PASSWORD

Password to unlock your BT wallet

COMMISSION_RATE

Your commission (e.g. 0.03 for 3%)

MINER_NAME

Display name on the listing page

MINER_DESCRIPTION

Description shown on the listing page

See the template READMEarrow-up-right for the full configuration reference.

This step is optional if you're mining solo (private mode). The rewards system is only needed to accept and distribute to federated miners.

Keep it running 24/7. The distribution node must stay online at all times. It monitors the Bittensor chain for new epochs, sweeps accumulated ALPHA, scores positions, and processes federated miner claims. If the node goes down, your federated miners can't receive or claim rewards until it's back up. Use a reliable VPS or cloud provider with monitoring and auto-restart (e.g. Docker restart policies, systemd, or cloud health checks).


Step 5: Apply to Get Listed

Once your rewards system is live, apply to be listed on the Principal Minersarrow-up-right page so federated miners can discover you.

Go to liquidity.0xmarkets.io/principal-miners/applyarrow-up-right and complete the 4-step application:

1. Identity

Principal Miner Application β€” Identity
Step 1: Set your miner name, description, website, Discord, and logo
Field
Required
Description

Name

Yes

Your miner's display name (e.g. "My Mining Operation")

Description

Yes

Describe your operation, experience, and what makes you a good principal miner (up to 500 characters)

Website

No

Your website URL

Discord

No

Discord invite link or username

Logo URL

No

Link to a square image (at least 128x128px)

2. Terms

Principal Miner Application β€” Terms
Step 2: Define your commission rate, payout schedule, and minimum requirements
Field
Required
Description

Commission Rate (%)

Yes

Percentage of gross rewards you keep (0–100%). Most miners set 3–10%

Payout Schedule

Yes

How often you distribute β€” "Per Epoch (~72 min)" is the standard automated option

Min Lock Days

No

Minimum lock duration you accept from federated miners

Min Lock Amount (USDC)

No

Minimum deposit you accept

Additional Terms

No

Any extra conditions or notes for federated miners (up to 7,000 characters)

3. Operational

Principal Miner Application β€” Operational
Step 3: Provide your Bittensor hotkey, EVM address, and contact email
Field
Required
Description

Miner Hotkey (SS58)

Yes

Your principal miner's Bittensor hotkey address (starts with 5)

Home EVM Address

Auto-filled

Your connected wallet address β€” commission payouts go to this address

Contact Email

Yes

Used for application status updates and communication

4. Review & Submit

Review all your details and submit. The Cartha team reviews applications and notifies you via email. Once approved, your miner appears on the Principal Minersarrow-up-right page and federated miners can lock capital to your hotkey.


Check Your Status

Via Web Interface

Visit liquidity.0xmarkets.io/positionsarrow-up-right to see all your active positions.

Via CLI

Shows: miner state, active pools, amounts, expiry dates, and registration status.


Troubleshooting

"Hotkey not registered" or "Invalid hotkey"

  • Register your hotkey first with cartha miner register

  • Verify correct network (finney) and netuid (35)

  • Make sure you have TAO for registration

  • Double-check the SS58 address you're entering

"Transaction failed" in MetaMask

  • Confirm you're on Base Mainnet (Chain ID: 8453)

  • Check ETH balance for gas

  • Check USDC balance

  • Make sure the Approve transaction completed before Lock

Position not showing after locking

  • Wait 30 seconds to 5 minutes for the verifier to process

  • Click Refresh on the "My Positions" page

  • Check the transaction on BaseScanarrow-up-right if it persists

"Position already exists"

  • Use Top Up to add USDC to an existing position (same hotkey + pool + wallet)

  • Use Extend to increase lock duration

  • Or use a different EVM wallet for a separate position


Last updated