{
  "manifestVersion": "1.0",
  "name": "TOIN",
  "symbol": "TOIN",
  "type": "Multi-Chain Token",
  "description": "TOIN Token - Multi-Chain Token for BotoIn",
  "generatedAt": "2026-08-28T13:35:13.428Z",
  "token": {
    "name": "TOIN",
    "symbol": "TOIN",
    "totalSupply": "100,000,000",
    "decimalsByChain": {
      "ethereum": 18,
      "ton": 9,
      "solana": 9
    },
    "metadata": {
      "uri": "ipfs://QmTvWMQ5DPAjtwx6rFeABczVcszu39DhtRyrXP7N2HxSjf",
      "gateway": "https://gateway.pinata.cloud/ipfs/QmTvWMQ5DPAjtwx6rFeABczVcszu39DhtRyrXP7N2HxSjf",
      "description": "TOIN is the token of the BotoIn platform: payment for PRO subscriptions, staking rewards, bot fees and referral programs.",
      "usage": "Send/receive TOIN, pay the monthly PRO, stake for rewards, pay fees and collect referral rewards. Total supply 100M.",
      "cid": "QmTvWMQ5DPAjtwx6rFeABczVcszu39DhtRyrXP7N2HxSjf"
    },
    "icon": {
      "uri": "ipfs://QmPjEnT8xSReE2JNpJfxNUc6XDrVvE2BtrjfPTMyLu7NNe",
      "gateway": "https://gateway.pinata.cloud/ipfs/QmPjEnT8xSReE2JNpJfxNUc6XDrVvE2BtrjfPTMyLu7NNe"
    }
  },
  "chains": {
    "ethereum": {
      "enabled": true,
      "standard": "ERC-20",
      "decimals": 18,
      "address": "0x85cAE2a6C42d5fe08Bd879633CeC4e0d1D944340",
      "network": "mainnet",
      "explorer": "https://etherscan.io/token/0x85cAE2a6C42d5fe08Bd879633CeC4e0d1D944340",
      "deployer": "0x62C9Cfc659d547d83313bB69A89bA3A53e53f82c",
      "deployTx": "0x22d7d1451f0a3fba78399b3411c09df1ab91e629a6d82a961a44cc34c4fb5a54",
      "description": "ToinToken contract: ERC-20 with Burnable + Permit (gasless approvals) and IPFS metadata via setMetadataURI.",
      "usage": "Standard transfer/approve/transferFrom/burn/permit; the owner updates metadata with setMetadataURI(ipfs://<CID>)."
    },
    "ton": {
      "enabled": true,
      "standard": "Jetton",
      "decimals": 18,
      "address": "EQBfCdnKTjt593k-azpw50fZhErcVnCC3ofLz8XJJwRWWGID",
      "network": "mainnet",
      "explorer": "https://tonviewer.com/EQBfCdnKTjt593k-azpw50fZhErcVnCC3ofLz8XJJwRWWGID",
      "deployer": "kQA81z5Y_3-8jZngHLDwdWmW4mAgJIIp0F9JOBgkiIx1KdX6",
      "contractFile": "contracts/ton/ToinToken.tact",
      "description": "Standard TEP-74 Jetton for TON (ToinToken minter + wallet). Interoperable with Tonkeeper and TON wallets.",
      "usage": "Transfer/receive jettons via TEP-74; the owner can update the content (IPFS metadata) with SetContent without redeploying.",
      "pools": [
        {
          "dex": "STON.fi",
          "standard": "v2",
          "network": "mainnet",
          "address": "EQBxQXrSB56rK7GbJLmJgYNtAnsO8jhjb4tQWzKxJQmXmbTf",
          "explorer": "https://app.ston.fi/pools/EQBxQXrSB56rK7GbJLmJgYNtAnsO8jhjb4tQWzKxJQmXmbTf",
          "pair": "TOIN / TON"
        }
      ]
    },
    "solana": {
      "enabled": true,
      "standard": "SPL",
      "decimals": 9,
      "programId": "ECL6k5H2MXXL8hcPLsFFKFAKtKk5r7u6gKKZ19xGxaRt",
      "address": "tC5t97bu9Agxm4o41tmKyEyzCuffSCV96PBL9vP6Hi3",
      "network": "devnet",
      "explorer": "https://explorer.solana.com/address/ECL6k5H2MXXL8hcPLsFFKFAKtKk5r7u6gKKZ19xGxaRt?cluster=devnet",
      "deployer": "3pdh9ABKvNJpGDtW2ogFbxJ8WMQjam3bDBekuUrpGDAd",
      "deployTx": "5rtGnkB9NooazB2ke13idjz4vfyV18KCoD9qE8pXzjGAoHLYjGFX4am9c9R9z986PNw5ZMNfKn59q3ezZQ3R4tgJ",
      "authority": "3pdh9ABKvNJpGDtW2ogFbxJ8WMQjam3bDBekuUrpGDAd",
      "contractFile": "contracts/solana/src/lib.rs",
      "description": "TOIN Anchor SPL program with on-chain supply cap (SupplyCaps PDA) and real mint authority (SPL).",
      "usage": "initialize_mint creates mint+SupplyCaps; mint_tokens mints validating authority and cap; transfer_tokens/burn_tokens transfer/burn. Supply 100M x 10^9."
    }
  },
  "ecosystemContracts": {
    "toinVesting": {
      "address": "0xF515Ea605DaC01f0A7A819F029DDd72336dc49D6",
      "metadataURI": "ipfs://QmXnsbK1sdm1YxwCcoLWxdipFFLMoLDfjHVZEXVZ6p7v9n",
      "description": "Multi-beneficiary vesting for TOIN (team, investors, liquidity). Each account has a schedule with a HARD cliff (nothing vests before the cliff) then linear release.",
      "usage": "The owner funds TOIN with addSchedule(account,total,start,cliff,duration,revocable). release(account) releases the vested portion (0 before start+cliff; linear from start+cliff to start+duration); revoke(account) returns the unvested portion to the owner (only if revocable)."
    },
    "subscriptionRegistry": {
      "address": "0x24208bE37917C39acb918537E935F690Ff065B7e",
      "metadataURI": "ipfs://QmXiBVxZZEdde7UK3mhBMwWxFpHU3vFHRgcBHdkkQ2nta3",
      "description": "On-chain BotoIn PRO subscriptions. The user pays a monthly price (TOIN/USDC/ETH) and gets PRO access with automatic expiry. Fees are auto-forwarded to the FeeCollector treasury.",
      "usage": "The owner sets prices with setPrice(token,monthly)/setNativePrice(monthly). subscribe(token,months) extends the user's PRO (max 120 months); the fee is automatically forwarded to the FeeCollector treasury (setFeeCollector). The dashboard validates with isActive(user)."
    },
    "feeCollector": {
      "address": "0xFFaaa7422b02438e6CA54a9b30A50b2A85eC3c64",
      "metadataURI": "ipfs://QmXX1Nf9iSJtxue8chq4eLsR6kmqwMiTmRTuEJ1wdjJzrx",
      "description": "Centralized treasury that receives bot/ecosystem fees for TOIN in ETH and ERC-20.",
      "usage": "deposit()/depositToken(token,amount) add funds (anyone). withDrawETH()/withdrawToken(token,to) withdraw (owner only). Pausable in emergencies."
    },
    "stakingRewards": {
      "address": "0x4e1360DA14F0a3f23E959904234A47E9e88792cb",
      "metadataURI": "ipfs://QmNLph28CAgMLSxwC6Wep34E6MB5Af7UvhXA6gyqWCojFm",
      "description": "TOIN staking with TOIN rewards and a dynamic APY that decreases (5% → 1%) as the total amount staked grows.",
      "usage": "stake(amount) locks TOIN and accrues rewards; withdraw(amount) unlocks; getReward() claims. The owner funds the pool with notifyRewardAmount(amount). The APY is recalculated dynamically on each operation and the reward rate is always capped by the real free TOIN balance, so rewards are always payable (no insolvency)."
    },
    "referralRegistry": {
      "address": "0xC27E1418256D0fD34552C936e190055b36d52713",
      "metadataURI": "ipfs://QmRgDjifWT1ZgYRgkpB1xF5KFEEUvcDQPUS52iFircicWP",
      "description": "On-chain BotoIn referral program. Unique codes, immutable referrer per user.",
      "usage": "A user registers their code with registerCode(code); a referred user links with setReferrer(code). The owner pays the reward with payReferral(referrer,token,amount) (only to registered referrers)."
    },
    "multiSigWallet": {
      "address": "0x01c5d9dC54c1a0e7232545C7c3b67c7bf7Aa2dBe",
      "metadataURI": "ipfs://QmVpTJSVWS4c8jWKR3JgrNKo6thGwedxFbWZFrVY2SNmUB",
      "description": "N-of-M multisig (Gnosis-style) for the treasury and project control (FeeCollector withdrawals, ownership, operator rotation).",
      "usage": "Owners create transactions with submitTransaction(to,value,data) and confirm them; executeTransaction(txId) executes once `required` is reached. Owner changes use schedule/confirm/execute with supermajority + timelock (adminDelay)."
    }
  },
  "links": {
    "website": "https://botoin.com",
    "twitter": "https://twitter.com/BotoIn_x",
    "telegram": "https://t.me/botoin"
  },
  "deploymentStatus": {
    "ethereum": "deployed",
    "ton": "deployed",
    "solana": "deployed (program + mint)"
  }
}