Documentation
Documentation
Everything you need to know to get started with Elevate on Bittensor EVM.
Getting Started
Welcome to Elevate - your gateway to discovering and collecting exceptional NFTs on the Bittensor ecosystem. Our platform makes it simple to explore, purchase, and manage digital art with confidence.
How to Connect Your Wallet
Click the 'Connect Wallet' button in the top navigation
Choose your preferred wallet provider (MetaMask, WalletConnect, etc.)
Approve the connection request in your wallet
Ensure you're connected to the correct network (Bittensor EVM - Chain ID: 964)
You're ready to start exploring and minting!
Smart Contracts Overview
The Elevate launchpad is built on audited smart contracts deployed on Bittensor EVM. Our contracts implement industry standards for security and user protection.
NFT Launchpad Contract
Each collection deploys its own ERC-721A contract featuring multi-phase minting, allowlist support, and transfer controls. Key features include gas-efficient batch minting, configurable royalties per collection and per-token, metadata finalization, and emergency pause functionality. Contracts are named according to the collection for verification purposes.
Understanding Minting Phases
Collections on Elevate use phased minting to control distribution and ensure fair access. Each phase has independent pricing, supply limits, wallet limits, and timing.
Phase Types
Public phases are open to anyone without restrictions. Allowlist phases require a signature from the backend, granting specific wallets access with defined maximum allowances. Reserved phases are for team allocations and special distributions.
Phase Configuration
Each phase includes: price per token (in wei), start/end timestamps, maximum supply for the phase, maximum per-wallet limit, signer address (for allowlist), and pause status. Phases can be updated by the contract owner before they begin.
Wallet Limits
Wallet limits are enforced both at the phase level and globally. The contract tracks mints per wallet per phase, and also maintains a global counter. This ensures fair distribution by preventing users from minting across multiple phases.
Allowlist & Signature System
The allowlist system uses secure signatures to grant exclusive access to minting phases. The backend generates signatures that wallets can use to prove their eligibility.
Backend generates a unique signature for each eligible wallet
Signature is cryptographically signed by the collection's authorized signer
Frontend sends the signature along with the mint transaction
Contract verifies the signature and allows the mint if valid
Each wallet can use their signature once per phase
On-Chain Status & Real-Time Data
The platform fetches real-time data directly from smart contracts to ensure accuracy. All mint counts, phase statuses, and wallet limits are verified on-chain before allowing transactions.
Phase Status Detection
The system retrieves all phase configurations from the contract. It then determines the current status (active, upcoming, completed) by comparing the current time with phase start/end times and checking if the phase is paused.
Mint Count Tracking
Total minted count is fetched directly from the contract. Phase-specific minted counts are tracked automatically. The backend temporarily stores this data to balance freshness with performance.
Wallet Mint Tracking
The contract tracks how many tokens each wallet has minted in each phase. The frontend queries this to show your remaining allowance and enforce limits before you submit a transaction.
Minting Transaction Flow
The minting process is designed to be secure and user-friendly, with multiple validation checks before transaction submission.
User connects wallet and selects a collection
Frontend fetches current status (phases, minted counts, your mints)
User selects quantity and clicks mint
Frontend validates: phase is active, you have sufficient allowance, sufficient balance
If allowlist phase: backend generates and returns your signature
Frontend prepares transaction with the mint call including signature if needed
User confirms transaction in wallet
Contract validates: signature (if allowlist), phase timing, wallet limits, payment amount
Contract mints tokens and updates the collection
Frontend monitors transaction and shows success/error state
Important Tips
- The system refreshes status immediately before minting to ensure accuracy
- Gas costs are estimated before you confirm the transaction
- Transactions are monitored until confirmed (typically 1-2 blocks)
- If a transaction fails, you'll see a clear error message explaining why
NFT Rarity & Traits
The platform includes a comprehensive rarity system that analyzes NFT metadata to determine trait rarity and overall rarity scores.
Rarity Calculation
The system analyzes all NFT metadata in a collection to calculate how common each trait is. Each trait combination receives a rarity score based on how unique it is. NFTs are ranked by overall rarity score and assigned tiers (Common, Uncommon, Rare, Epic, Legendary).
Trait Analysis
For each trait type (e.g., Background, Eyes), the system counts how many NFTs have each value. The rarity percentage shows how common or rare a trait is. Rarer traits contribute more to the overall rarity score.
Viewing Rarity
You can view rarity data for all NFTs in a collection or check a specific NFT's rarity. Rarity statistics including distribution and top NFTs are also available.
Backend API Architecture
The backend is built with Node.js/Express and PostgreSQL, providing APIs for all platform functionality.
Projects API
The Projects API lists all collections with real-time on-chain data, retrieves single collection details, and provides real-time updates. The API fetches minted counts and participants directly from smart contracts with caching for performance.
Collections API
The Collections API retrieves collection static data from the blockchain, shows recently minted NFTs, and displays NFTs owned by a specific wallet. These endpoints bridge on-chain data with the database.
Minting API
The Minting API handles minting transactions, checks allowlist status and provides signatures, and tracks mint history for each wallet. The minting endpoint handles transaction signing and broadcasting to the blockchain.
Indexing System
The backend indexes NFT collections by tracking transfers and fetching metadata. Indexed NFTs are stored in the database. Collections are automatically indexed when first viewed, or can be manually added.
Security & Audits
Security is paramount at Elevate. Our contracts have been audited and follow best practices for smart contract development.
Contract Security
All contracts use industry-standard OpenZeppelin libraries for battle-tested implementations. Key security features include protection against reentrancy attacks, emergency pause functionality, admin controls, and input validation on all functions.
Access Control
Contract owners can pause/unpause contracts, update fees, change fee recipients, and manage phase configurations. These actions are protected by secure access controls. Critical parameters like maximum fees are hardcoded to prevent abuse.
Frontend Security
All sensitive operations (minting) require wallet connection and transaction signing. The backend never stores private keys. Signatures are generated server-side for allowlist verification but are never exposed in a way that could be reused.
Support
Need help? We're here for you. Our community and support team are ready to assist with any questions or issues you may encounter.