Skip to Content
DocsMiningDirect Mining

Direct Mining

Users or protocols can mine SECOND directly from the core protocol. The mining frequency is determined by the amount of SECOND held by the user or protocol, following a set of predefined rules to ensure fairness and prevent abuse.

Mining using UI

  1. Goto https://seconds.money 
  2. Click “Mint x SECOND” button.
  3. Follow the instructions on the screen to complete the minting process.
    1. Connect your wallet if already not connected.
    2. Pay the refundable fee of 60 SECOND. (Make sure you have 60 SECOND in your wallet). This is one time step, you can skip if you already paid the fee.
    3. Click “Mint” button to initiate the minting process. Make sure you have enough ETH to cover gas fees and atleast 1 SECOND in your wallet.

Mining using the Basescan Explorer

  1. Goto Basescan explorer Link to be Updated
  2. Connect your wallet using the “Connect to Web3” button.
  3. Scroll down to the “payRefundableFee” function.
  4. Manually enter the address that want to mint and pay the refundable fee of 60 SECOND. (Make sure you have 60 SECOND in your wallet). This is one time step, you can skip if you already paid the fee.
  5. Scroll down to the “mint” function.
  6. Enter “0x0” in the “pl” field and click “Write”. This will initiate the minting process. Make sure you have enough ETH to cover gas fees and atleast 1 SECOND in your wallet.

Mining using Smart Contracts onchain.

// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // SECOND Token. interface ISecondToken { //(msg.sender, totalMinted including fees, _balance, _supply, op) function mint(bytes32 _op) external returns (uint256, uint256, uint256, bytes32); function userInfo(address _user) external view returns (uint256[] memory _userInfo); } contract SecondProxyMinting is ISecondToken { ISecondToken constant SECOND = ISecondToken(SECOND_TOKEN_ADDRESS); // Replace with actual SECOND token contract address later constructor() { // Initialization code if needed } // Implementation of the mint function function mint(bytes32 _op) external override returns (bool) { // Minting logic and user validation here. (uint256 mined, uint256 balance, uint256 supply, bytes32 pl) = SECOND.mint(_op); // Call the mint function of the SECOND token contract require(mined > 0, "Minting failed or no tokens minted"); //mined: is the amount of SECOND minted in this transaction (you should subtract 10% fees from this amount.) //balance: this contract balance after minting, //supply: total supply of SECOND after this minting. //pl: is the payload passed from the SECOND contract (Use this for more tracking, like referral, etc). return true; } }
Last updated on