Developer Docs
  • Getting Started
    • Xircus Web3 Protocol
    • Wallet & Authentication
    • Own Your Web3 Apps
    • Deploying Web3 Apps
    • Deploying NFT Collection
    • Minting and Importing NFTs
    • Listing and Selling NFTs
    • Supported Chains
  • Terminologies
    • DUST - Template System
      • The Presets
      • Dust
      • Dust React
      • Dust Chakra
      • Dust Radix
    • Carousel - Template Routers
    • Graphee
      • for TON Chain
  • Launching Your App
    • Quest Apps
    • NFT Marketplace Apps
    • eCommerce Apps
    • Launchpad Apps
  • TON Contracts
    • ⚡Quick Start
    • ⛏️Minter
      • Quick Start
      • Jetton
      • Jetton Non-Shard
      • NFT
      • SBT
      • Wallet
    • 🏪Marketplace
      • ⚡Quick Start
      • NFT Market
      • NFT Music Market
      • NFT Ticket Market
      • NFT Subscription Market
    • 🌱Launchpad
      • Getting Started
      • Auction Instant
      • Auction Pool
      • Auction Fair Launch
      • NFT Pre-Mint Auction Randomizer
      • NFT Allowlist Auction
    • 🛍️eCommerce
      • Checkout
      • Property Rentals
      • Fleet Courier
      • Delivery Pooling
      • Real World Assets
    • ⛰️Governance
      • Staking
      • Locker
      • Vesting Locker
      • Vesting Locker Simple
      • Proposals
    • ⛳Prediction
      • Getting Started
      • Optimistic Oracles
      • Prediction Market Factory
  • Platform Tools
    • 📃Smart Contracts
    • 🏅Open Quest & Leaderboard
    • ⚒️Web3 Minters
    • 🎨Generative NFT Creator
    • ✨NFT Auctioneer
  • App Templates
    • NFT Marketplace
    • Crowdfunding Launchpad
    • DeFi Exchange
    • Prediction Market
    • NFT Social
    • Token XP Campaigns
  • TON Blockchain
    • TON React
    • Telegram Mini dApps
  • React Reference
    • ⚡Quick Start
    • Hooks
      • useTonConnect
      • useUtils
      • useRegistry
      • useApp
      • useStorage
      • useTon
      • useTelegram
    • Recipes
      • Connect via Wallet Provider
      • Using Wallet Authentication
  • GraphQL Reference
    • ⚡Quick Start
    • Schemas
      • App
      • Currency
      • Account
      • Chain
      • Market
    • Methods
      • Get Apps
      • Get App
  • Core SDK Reference
    • ⚡Quick Start
    • Methods
  • Xircus CLI
    • ⚡Quick Start
    • Commands
      • Create
      • App
      • Contract
      • Skin
      • Module
  • DUST App Template Building
    • Getting Started
    • Dust Chakra Common
      • AppBrand / AppHeader
      • EditableFields
Powered by GitBook
On this page
  1. TON Contracts
  2. Governance

Vesting Locker

This contract allows you to lock certain amount of jettons or tokens that is released based on vesting configuration

Features

  • Multiple receiving accounts based on 100% share allocation

  • Anyone can unlock tokens for any account during claim period for individual or airdrop mode

  • Basis type can be by duration (how many times to unlock) or by bps (how much percentage per unlock)

Locker Flags

Name
Description

Status 1bit

0 - Drafted 1 - Published (requires platform fee)

Unlock Mode 1bit

0 - Admin 1 - Individual (account list can unlock the tokens)

Unlock Cliff 32bit (timestamp)

The starting time to unlock the vesting

Next Unlock Time 32bit

The succeeding timestamp to unlock

Unlock Interval 32bit

Interval for next unlock time in seconds e.g Every Month is 86_400 * 30 = 2_592_00 seconds

Unlock Basis 1bit

0 - Duration 1 - Percentage

Unlock Basis Value 16bits

By unlock count or percentage with 100_00bps Duration: How many times it will be unlocked minus first tranche Percentage: 5% unlock every month is 5_00

Total Unlocked Coins

Total amount unlocked

Asset Supply

Total supply to be unlocked

Genesis Tranche 16bit

Always in percentage, can be called TGE percentage If set, initial tranche will computed using this value Default: 0 e.g 15% on TGE, 15_00 bps

Unlock Mode

  1. Individual - accounts can unlock tokens by themselves

  2. Airdrop - unlock tokens to all accounts

Type
Name
Description

1

Vesting Non-Shard

Unlock Amount Percentage Account Share Percentage 15% TGE, 3 months cliff, 5% each month after, account share must total 100%

2

Vesting Shard + Percentage

3

Vesting Non-Shard

Individual Allocation

Variants

  • Non-Shard with Universal Unlock Time -> assets are unlocked based one configuration

  • Non-Shard with Individual Unlock Time -> assets are unlocked based on individual tracker

  • Shard -> creates a shard contract with individual vesting config and assets are transferred to it immediately, allows multiple shard contract per asset to be created

Limitations

  • Platform fee is max at 1%

  • Max of 4,080 receiving addresses for non-shard contract

  • Needs to consider depositing amount of TON to pay for storage fees

Features

  • Allowlist or Public

  • Draft to Publish Mode

  • Multiple Account Recipients

  • Configurable First-Release or TGE percentage allocation

  • Redeemable to configured wallet recipients

Operations

  • deposit -> 0x8

  • unlock -> 0x2

  • destroy -> 0xFF

  • add_accounts ->

  • add_account ->

  • change_config -> change the vesting configuration

  • change_token -> change the token address and wallet address of locker

  • change_owner ->

Getters

  • get_vesting_config -> contains vesting configuration of the contract

  • get_vesting_of (account) -> get the vesting info of an account

  • get_platform_config ->

  • get_unlockable_of (account) ->

  • get_available_balance ->

  • get_vesting_address(account, jetton) ->

Params

  • admin_address -> address of the owner

  • unlock_mode -> 0 (universal) | 1 (individual)

  • asset_address -> address of the jetton

  • asset_wallet_address -> wallet address of the vesting contract

  • asset_supply -> supply of the jetton

  • first_tranche_percentage -> amount of asset to be released on first unlock, if zero (0) - nothing

  • unlock_cliff -> starting cliff period in timestamp

  • unlock_duration -> in timestamp e.g every day (86_400) or monthly (2_592_000)

  • unlock_total duration -> in days, e.g 356 for 1 year

  • beneficiaries (universal) -> records both unlock amount and released amount

    • total_unlock_amount ->

    • released_amount ->

  • beneficiaries (individual) -> receiving addresses based on percentage shares

    • total_unlock_amount -> total allocated based on

    • released_amount ->

    • next_unlock -> first (tge) amount or next unlock amount

    • next_claim_time ->

PreviousLockerNextVesting Locker Simple

Last updated 1 year ago

⛰️