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

NameDescription

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

TypeNameDescription

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 ->

Last updated