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