HashMind Pools
Trustless, on-chain mining pools built on Club HashCash. Earn rewards as a shareholder — no miners required — or deposit your miners into a fully-upgraded facility and earn your share of the hashrate.
What are HashMind Pools?
HashMind Pools are smart contracts on Avalanche that collectively own and operate a Club HashCash mining facility. Anyone can participate — either by funding the pool (shareholders) or by depositing NFT miners into it (depositors).
Because everything runs on-chain, there is no team custody of funds. The contract holds all assets, enforces all rules, and distributes rewards automatically. Even HashMind itself cannot redirect rewards or withdraw user funds.
You do not need miners to earn from a pool. Holding HMPS shares earns you 13% of all pool rewards, distributed every 7 days.
How it works
Each pool follows a fixed lifecycle from fundraising through active mining. Here's the full flow:
distribute() to harvest rewards and split them between shareholders, miners, and the HashMind treasury.refund() to reclaim their exact hCASH contribution. No funds are lost.Pool phases
| Phase | What you can do | Duration |
|---|---|---|
| FUNDRAISING | Buy HMPS shares, transfer shares | Up to 7 days |
| UPGRADING | Wait — no user actions needed | ~24 days (cooldowns) |
| ACTIVE | Deposit/withdraw miners, claim rewards, distribute | Indefinite |
| REFUND | Call refund() to recover hCASH | Until claimed |
Miners
Once a pool is ACTIVE, miner NFT owners can deposit their miners into the pool facility. The pool earns hashrate proportional to its deposited miners, and each depositor earns from the 85% miner reward slice based on their hashrate contribution.
Depositing a miner
- Open an active pool and click an empty slot in the facility grid.
- Select a miner from your inventory on the right panel.
- Click SLOT MINER to confirm the transaction.
Withdrawing a miner
Click any of your deposited miners in the grid and select WITHDRAW. Any accrued miner rewards are automatically paid out at withdrawal — you never lose earned rewards.
Only the original depositor can withdraw a given miner. Miners cannot be moved between slots — withdraw first, then re-deposit into the desired slot.
Claiming miner rewards
Between withdrawals you can call claimMinerReward(minerId) to collect accrued rewards without removing the miner from the pool.
Pool protection
A mining pool is only profitable if every miner inside it contributes positive net earnings. HashMind Pools enforce two on-chain protections to prevent unprofitable miners from diluting returns for shareholders and other depositors.
1 — NFT contract allowlist
The contract maintains an explicit allowlist of approved miner NFT contracts. Only miners from verified, live Club HashCash contracts can be deposited. This prevents anyone from creating a fake or low-quality NFT and registering it as a high-hashrate miner.
The allowlist is seeded automatically at deployment using the live contract registry from the Club HashCash API. HashMind can add new miner contracts as the game releases them, or remove contracts if a miner type proves consistently unprofitable.
Attempting to deposit a miner from a contract not on the allowlist will revert with "NFT contract not approved".
2 — Minimum hashrate floor
Each deposited miner must meet a minimum hashrate threshold — currently 10 MH/s. When you call depositMiner(), the hashrate you declare is checked against the floor. If it falls short, the transaction reverts with "Below hashrate floor" and your NFT is not transferred.
The floor is adjustable by HashMind. When block rewards halve, some lower-hashrate miners that were marginally profitable may become net-negative at the facility's electricity rate. Raising the floor keeps the pool healthy without requiring existing depositors to withdraw.
Check the current floor on the Pools page before depositing. If your miner is below the floor, the deposit will revert.
Why this matters for shareholders
Shareholders earn 13% of pool rewards regardless of which miners are deposited. A pool dragged down by unprofitable miners — ones whose electricity cost exceeds their hashrate earnings — produces fewer net rewards to split. The two controls above ensure every miner in the pool is accretive to total returns, protecting passive shareholder yield.
Reward split
Every time distribute() is called (available every 7 days), the pool harvests all pending hCASH from the game and splits it:
Rewards accumulate on-chain and can be claimed at any time. There is no expiry on unclaimed rewards.
The 2% treasury fee funds future HashMind pools — meaning the ecosystem grows without requiring additional capital from participants.
Distribution cadence
Anyone can call distribute() once every 7 days. The call is permissionless — no trust in any single party to trigger payouts. If the 7-day window passes without a call, rewards simply accumulate until the next distribution.
Facility tiers
Each pool targets a fully upgraded F5 facility — the maximum tier in Club HashCash. The upgrade path and costs are fixed by the game contracts.
| Tier | Grid | Miner slots | Power | Rate (hCASH/kWh) | Upgrade cost | Cooldown |
|---|---|---|---|---|---|---|
| F1 | 2×2 | 4 | 400 W | 8.60 | — (initial, 2 AVAX) | — |
| F2 | 3×2 | 6 | 1,000 W | 6.88 | 500 hCASH | Instant |
| F3 | 3×3 | 9 | 2,000 W | 6.02 | 2,500 hCASH | 72 hours |
| F4 | 4×3 | 12 | 6,000 W | 6.88 | 7,500 hCASH | 7 days |
| F5 ✦ | 4×4 | 16 | 15,000 W | 3.44 | 15,000 hCASH | 14 days |
Total upgrade cost F1→F5: 25,500 hCASH + 2 AVAX (covered by HashMind). This is exactly the pool fundraising target.
Contracts
All HashMind Pool contracts are deployed on Avalanche C-chain (chainId 43114) and are fully open source.
| Contract | Address |
|---|---|
| Club HashCash (game) | 0x105fecae0c48d683dA63620De1f2d1582De9e98a |
| hCASH token | 0xBa5444409257967E5E50b113C395A766B0678C03 |
| HashMind Treasury | 0x411F871500c499bAB2208D90acb301214B97f0D9 |
| HashMindPool #1 LIVE | 0xecbbeBCc0bb95d53A7CEa22f2447c01f28646194 |
Key function signatures
FAQ
declareFailed() after the 7-day deadline. The pool enters REFUND state and every shareholder can call refund() to get their exact hCASH back. No fees, no loss.beginUpgrading() to kick off the facility purchase after fundraising succeeds. All other operations are permissionless or restricted to the relevant user's own assets.