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

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

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

TypeNameDescription

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

NameDescription

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 ForAddress CountGas Per ExecutionTotal 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