Developer reference · Base Mainnet
ZBTC integration outline
A concise reference for the deployed ZBTC token, mining events, and public read interfaces. Confirm current values on-chain before integrating.
Network and contract
- Network: Base Mainnet, chain ID
8453. - Contract:
0x034b2F529dc9B647DA2c7BCb016064e74e32d7C2. - Token: ERC-20, 18 decimals, symbol
ZBTC. - Hard cap: 21,000,000 ZBTC. The deployed contract is the source of truth for current supply, reward, epoch, and cooldown values.
- Verified source and ABI on BaseScan ↗.
Mining model
The wallet owner submits mine() directly to the contract. It mints the current reward to msg.sender, provided that address’s cooldown is zero, the reward is nonzero, and the supply cap is not exceeded. The cooldown is 10 minutes and the reward epoch advances every 200,000 successful claims.
Useful view methods include currentReward(), currentEpoch(), mineCount(), remainingMineableSupply(), cooldownRemaining(address), totalSupply(), balanceOf(address), and owner().
Events
Successful claims emit:
event Mined(address indexed miner, uint256 reward, uint256 indexed epoch, uint256 mineCount);
Rewards and event fields use 18-decimal token base units. Indexers should verify the emitting contract address and confirmation status, and handle reorgs according to their own finality requirements.
Public read endpoints
GET /api/public/zbtc-stats— current supply, reward, epoch, and mine count.GET /api/public/zbtc-recent-mines— recent confirmedMinedevents.GET /api/public/zbtc-pool-health— ZBTC/USDC pool reserves, spot estimate, TVL, and volume when available.GET /api/public/zbtc-leaderboard— indexed aggregate mining stats, daily counts, and top miners.GET /api/public/zbtc-claims/{wallet}— indexed claims for a public wallet address.POST /api/public/base-rpc— allowlisted Base read-only JSON-RPC proxy; max 20 requests per batch.
The RPC proxy accepts only eth_call, eth_chainId, eth_blockNumber, eth_getBlockByNumber, eth_getBalance, eth_getCode, eth_gasPrice, and eth_maxPriorityFeePerGas. It rejects write methods. Public endpoint availability and index freshness are not guaranteed.
Client integration and safety
- Use a wallet provider for user-signed mining transactions; do not collect private keys or seed phrases.
- Switch to Base and verify chain ID
8453before a transaction. - Estimate gas, display the destination contract and reward context, and wait for a successful receipt before reporting a confirmed claim.
- Never represent the UI’s mining animation as proof-of-work or a reward; only a confirmed on-chain transaction is authoritative.
- For the member miner, the connected account must match the member’s website-verified wallet.
Repository and validation
The source project is maintained in the ZYN-FRESH and deflationary-zbtc workspaces. Run the ZYN-FRESH test suite with npm test. Treat public RPCs as variable-availability dependencies and re-check the deployed contract ABI before relying on this outline.