Getting Started
We create different types of auction contracts that fits your need wether you are raising for angel, pre-seed, seed, presale, private sale, initial offering or d-exchange offering, we got you covered
The Shard vs Non-Shard Contracts
Shard
Creates a shard or child contract that contains the contributor shares, contribution, released claims, claim timestamp, and whitelist status (optional), with operations such as redeem and withdraw. Redeem is for claiming JETTON shares. Withdraw is for claiming contribution in TON minus prepaid fees. Whitelisting in shard requires to initialize a child contract for 0.05 TON for every new address that will be created.
Non-Shard
Shares, contribution, released claims, claim time, and whitelist status are added in the HashMap residing in the main or parent contract. Whitelist addresses is sent in one operation prior to the start of the auction or before any contribution made with max limit of 4,080 addresses following a packed cell format. Additional whitelist addresses can be sent following gas fee requirement stated in this document.
Auction Types
Each auction config varies depending on the type of auction used via get_auction_data
Type | Name | Description |
---|---|---|
1 | Instant Non-Shard | Gas Efficient, Instant Payout, Claim JETTON on Claim Time |
2 | Instant Shard | Creates Share Shard, Instant Payout, Claim JETTON on Claim Time from Shard |
3 | Pool Non-Shard | Gas efficient, Pool funds, Payout on Finalize |
4 | Pool Shard | Pool Funds, Payout on Finalize, Claim JETTON share if Completed |
5 | Pool Vesting Non-Shard | Gas Efficient, Pool Funds, Payout on Finalize, Claim JETTONs by Vesting Schedule |
6 | Pool Vesting Shard | Pool TONs, Payout TON on Finalize, Claim JETTONs by Vesting Schedule |
7 | Pool Liquidity Non-Shard | Gas efficient, Auto-liquidity and Payout on Finalization, Claim JETTONs if Completed |
8 | Pool Liquidity Shard | Auto-liquidity and Payout on Completion, Claim JETTONs if Completed from Shard |
9 | NFT Premint OC + Random | NFT Drop pre-minted and randomly minted by anyone, Price Vary by Configuration |
10 | NFT Premint OFFC + Allowlist | Gas efficient random minting for allowlist |
11 | NFT Premint OC + Tier + Allowlist | Allowlist can only mint one NFT with Edition Number at tier prices |
12 | Pool Non-Shard + BJ | TBA |
13 | Pool Shard + BJ | TBA |
Abbreviations
OC stands for On-Chain
OFFC stands for Off-Chain
NSD stands for Non-Shard
SD stands for Shard ❄️
BJ stands for Buy with Jetton 🤪 💦
Auction Flow
Owner deploys the auction contract
0.02 TON for deploying auction contract
Owner sends jettons to the contract and update token balance and address via change_token
0.06 TON for sending jettons to auction contract
0.02 TON for change_token
User contributes on start time with max_amount limit per user
0.02 TON gas fee + X actual contribution in TON
User redeems allocated jettons on claim time
0.02 TON for executing redeem operation
Auction Flag Values
Note: Not every contract implements each flag, this is only to determine what symbolize the value returned by the flag via get_auction_data and get_auction_config
Name | Description |
---|---|
Status 2bit (required) | 0 - Drafted 1 - Started/Open 2 - Cancelled 3 - Completed |
Payout Mode 1bit | 0 - Admin 1 - Wallets (wallets needs to be added) |
Vesting Mode 1bit (optional) | 0 - None 1 - Has Vesting |
Fund Pool Mode 1bit (optional) | How contributions will be disbursed 0 - Instant Payout -> instant disbursement on contribution 1 - Pool Funds -> collect and disbursed (soft cap required) |
Allocation / Share 1bit (optional) | Creates allocation for the contributor 0 - Non-Shard (to HashMap) 1 - Shard (requires Allocation Code) |
Whitelisting Mode 1bit (required) | Identifies the whitelisting/allowlist mode 0 - Onchain via HashMap 1 - Offchain via Merkle Tree |
Airdrop Mode 2bit (optional) | Sends jettons to wallets instantly 0 - None (Redeemable on Claim Time) 1 - Airdrop on Contribute 2 - Airdrop on Finalize (by Admin) 3 - Airdrop on Liquidity |
Mint Mode 2bit (optional) | Sends a mint message to jettons wallet based on allocation. Mint jettons on-demand 0 - None 1 - Auction 2 - Contributor 3 - Liquidity |
Referral Incentives 16bit | Sets the finder/referral fee percentage BPS: 100_00bps, 5% is 5_00 e.g 2.5% is 250 (2_50), 12.25% is 1225 (12_25) |
TGE Percentage 16bit (optional) | Initial amount released for vesting contracts BPS: 100_00, 5% is 5_00 on TGE |
Vesting Cell Ref | Vesting Total Amount -> coins Vesting Next Claim Time -> cliff + duration Vesting Unlock Duration -> Vesting Unlock Amount -> unlocked every claim time Vesting Released -> total_released |
Liquidity 1bit (unsigned) Cell Ref | Flag if auction contract has instant liquidity feature 0 - No Liqudity 1 - Has Liquidity BPS: 100_00bps, 40% is 4000 Liquidity Address -> address where to add token liquidity Liquidity Percentage -> |
Gas Fees for Whitelists/Allowlist
Initial Max Whitelists: 4080 addresses for 0.1 TON only
Gas consumption table to achieve 20,000 whitelist addresses
Execute For | Address Count | Gas Per Execution | Total TON |
---|---|---|---|
200x | 80 | ~ 0.98 TON | 196 |
320x | 50 | ~ 0.59 TON | 188 |
400x | 40 | ~ 0.47 TON | 188 |
Auction Operations
Everyone (executable on finalization)
airdrop (0x1) -> Everyone can pay and airdrop to contributors if contract is finalized
add_liquidity (0x6278fb06) -> Everyone can create liquidity by schedule and liquidity config
Contributor
contribute (0x22) -> sends contribution for token allocation
redeem (0x4) -> redeem token allocation
withdraw (0x3) -> withdraw contribution if cancelled or soft cap not reached and cannot be finalized by admin
Admin
start (0x5) -> Change the status from drafted to started
finalize (0x6) -> If soft cap reached, status is changed to completed, sends contribution to wallets if set or admin address
cancel (0x15) -> Cancel current auction
pullout (0x16) -> Pull out tokens to admin
claim (0x17) -> Claim excess coins / contributions in the contract
claim_now (0x7) -> Override the end time and claim time to current timestamp
change_owner -> Change ownership to another admin
change_config -> Change the auction config if not yet finalized
change_content -> Change the IPFS metadata content url
change_wallets -> Change the receiving wallets, total share must be 100_00bps
change_token -> Change the token and asset balance to start the contract
change_schedule -> Change the schedule if there is no contribution yet
change_rate -> Change rate, min, max, soft cap, hard cap
change_referral -> Change referral fee percentage
add_whitelist -> Sets the whitelisting status of a certain wallet address
add_whitelists -> Adds new whitelisting addresses
Platform or Provider
change_platform_fee -> change the platform cut percentage by platform owner
change_provider_fee -> change the provider cut percentage by provider owner
Auction Methods or Getters
get_auction_data -> contains auction info and type
get_auction_config -> contains sale configuration
get_auction_stats -> contains auction stats
get_platform_config -> contains auction platform and provider config
get_share_of (Non-Shard only) -> contains the share data of the contributor
get_allocation_address (Shard only) -> returns the address of the shard-ed contract
get_wallets -> contains wallets list
get_shares -> contains share allocations list
Last updated