Loading
Loading

A reserve-backed stablecoin designed to support 1:1 redeemability for US Dollar within the Bittensor ecosystem.
Neuron registration trends
Traditional liquidation systems for undercollateralized vaults rely on centralized intermediaries or limited pools of liquidators. This concentrates liquidation profits, creates single points of failure, and may result in slow or unfavorable vault auctions. A decentralized network of competing liquidators can execute auctions faster, more transparently, and with lower barriers to entry—allowing any participant with stablecoin capital to earn profits from collateral spread.
The TensorUSD subnet addresses this by running on-chain liquidation auctions where miners (liquidators) compete to bid TUSDT on vaults. When a vault's collateral value falls below 1.2× its debt, it enters auction. Miners who bid close to the debt amount capture the collateral spread as on-chain profit. A validator network monitors all auction outcomes, scores miners based on bidding efficiency, and distributes TAO emissions proportional to each miner's auction performance each epoch.
Subnet 113 implements this as a dual-mechanism system: Mechanism 0 (Liquidation) tracks on-chain AuctionFinalized events via Substrate, stores auction wins in a SQLite database, applies a linear bonus reward formula (base 1.0 + up to 0.2 bonus for efficient bids), smooths scores with exponential moving average, normalizes, and submits weights to the Bittensor chain. Mechanism 1 (Prediction Agent) allows miners to submit Python agents that forecast vault health; validators execute these in Docker sandboxes one week after submission and reward the best predictor.
Use cases were auto-generated from the GitHub repository and may not reflect the latest changes.
TensorUSD Subnet (SN113) is a decentralized liquidation auction and price oracle system for the TensorUSD stablecoin on Bittensor. Miners participate in liquidation auctions by bidding TUSDT to win undercollateralized vaults' collateral, earning on-chain profits and TAO emissions. Validators monitor on-chain auction events, score miners based on bidding efficiency, and distribute TAO rewards through weight-setting mechanisms.
The subnet operates on a dual-mechanism architecture. Mechanism 0 (Liquidation): On-chain auction contract emits AuctionFinalized events when vaults are liquidated. Miners monitor these events, place bids using configurable strategies (initial bid %, increment rate, max bid %), and execute winning bids via substrate extrinsics.
Validators listen to the same on-chain events in a background thread, fetch debt/collateral data from the auction contract, store wins in SQLite database, and every epoch (tempo blocks) calculate accumulated rewards using the linear bonus formula, apply EMA smoothing, L1-normalize, and submit weights to Bittensor chain. Mechanism 1 (Prediction Agent): Miners submit Python agents to backend. Validators periodically execute these agents in Docker sandboxed environments with LLM integration (OpenAI), compare predictions against actual vault data retrieved one week later, and reward the best-performing agent.
Both mechanisms feed into a single weight distribution that determines TAO emissions per epoch.
This information was auto-extracted from the GitHub repository and may be incomplete or out of date. Always refer to the subnet's GitHub repository for the latest instructions.
Mechanism 0 (Liquidation): Miners win auctions by bidding on undercollateralized vaults. The validator scores each win using bonus_ratio = min((winning_bid - debt_balance) / debt_balance, 0.20), resulting in reward = 1.0 + bonus_ratio. Minimum reward per win is 1.0 (bidding at debt level), maximum is 1.2 (bidding 20%+ above debt).
Multiple wins accumulate their rewards in an epoch. Mechanism 1 (Prediction Agent): Miners submit Python agents predicting vault health and minted tokens one week forward. The best-performing agent receives full mechanism 1 reward.
Validators smooth scores using EMA (score = α × new_reward + (1-α) × previous_score), normalize via L1, and submit to chain as weights. Each miner's TAO emission share is proportional to their normalized weight.
The sections above were auto-generated from the GitHub repository and may not reflect the latest changes. View repository
A reserve-backed stablecoin designed to support 1:1 redeemability for US Dollar within the Bittensor ecosystem.
FAQs were auto-generated from the GitHub repository and may not reflect the latest changes.
Holder & total-staked metrics as of 1h ago (hourly snapshot)
Miners require TUSDT tokens for bidding on auctions and must have CoinMarketCap API key for price oracle functionality. Coldkey must be kept secure as it handles on-chain transactions and token custody.
Validators require Docker for running sandboxed prediction agent evaluation environments. SQLite database required for storing auction win records.
Clone the TensorUSD subnet repository
git clone https://github.com/TensorUSD/subnet && cd subnet
Install all Python dependencies using uv package manager
uv sync
Install the subnet as an editable package in development mode
uv pip install -e .
Set up environment variables for contract addresses and credentials
Create a .env file with: VAULT_CONTRACT_ADDRESS, AUCTION_CONTRACT_ADDRESS, TOKEN_CONTRACT_ADDRESS, ORACLE_CONTRACT_ADDRESS, COLDKEY_PASSWORD, TENSORUSD_SN_BACKEND_URL, TENSORUSD_NETUID
Run the liquidation miner (Mechanism 0)(optional)
uv run neurons/miner/liquidator.py --netuid 113 --subtensor.network finney --wallet.name <your_wallet> --wallet.hotkey <your_hotkey> --coldkey.password <password>
Submit a prediction agent for Mechanism 1 evaluation (optional alternative mechanism)(optional)
uv run tensorusd.py submit --agent <agent_location>
Clone the TensorUSD subnet repository
git clone https://github.com/TensorUSD/subnet && cd subnet
Install all Python dependencies using uv package manager
uv sync
Install the subnet as an editable package in development mode
uv pip install -e .
Run database migrations to set up SQLite schema for tracking auction wins
uv run alembic upgrade head
Set up environment variables for contract addresses and credentials
Create a .env file with: VAULT_CONTRACT_ADDRESS, AUCTION_CONTRACT_ADDRESS, ORACLE_CONTRACT_ADDRESS, DATABASE_URL, OPENAI_API_KEY, TENSORUSD_SN_BACKEND_URL, TENSORUSD_NETUID
Build Docker image for sandboxed prediction agent evaluation(optional)
docker build -f Dockerfile.sandbox -t tensorusd-sandbox:latest .
Run the liquidation validator to monitor auctions and set weights (Mechanism 0)(optional)
uv run neurons/validator/liquidator.py --netuid 113 --subtensor.network finney --wallet.name <your_wallet> --wallet.hotkey <your_hotkey>
Run the prediction agent validator to evaluate submitted agents (Mechanism 1)(optional)
uv run neurons/validator/agent.py --mechid 1 --subtensor.network finney --wallet.name <your_wallet> --wallet.hotkey <your_hotkey>