ShiftCTRL
  • Introduction
  • Introduction
    • Why ShiftCTRL
    • What is Austrian Economics
    • What is ShiftCTRL
    • Introducing Tabs
  • How it works
    • The core mechanism
    • Reserves
    • Managing vaults
    • Liquidation
    • CTRL+ALT+DEL
  • Guides
    • How to mint Tabs
    • How to withdraw reserves
  • Developer
    • Overview
    • Tab Protocol Smart Contract
      • Governance
      • Oracle
      • Token
      • Reserves
      • Vault
      • Keeper
      • Auction
    • Tab Oracle & Tab Keeper
  • Testnet
    • ShiftCTRL Public Testnet Launch
    • Testnet Participation Guide
    • Feedback
  • Governance
    • Decentralised governance
    • Vote delegation
    • Governance process
  • Download whitepaper
Powered by GitBook
On this page
  • AuctionManager contract
  • bid function
  1. Developer
  2. Tab Protocol Smart Contract

Auction

AuctionManager contract

Vault Liquidation is performed using a variant of the Dutch auction. Commencing at a higher price point, the auction progressively lowers the price until adequate reserves are sold to cover all outstanding Tabs or until the price reaches its minimum threshold.

All submitted bids must be in same Tab currency as the vault undergoing liquidation.

Refer to Config contract that stored auction settings:

auctionStartPriceDiscount = 90 (10% discount is applied to market price when auction is started)

auctionStepPriceDiscount = 97 (3% discount is applied whenever auction proceeds to next round) auctionStepDurationInSec = 60 (60 seconds of each auction round) maxStep = 9 (maximum of 9 auction rounds)

bid function

The auction is open to all participants.

Bidders use Tabs to bid on discounted BTC reserves.

Note: A sufficient balance of Tabs and allowance amount is required to place a bid. Ensure that you call the approve function on the Tab token to grant the AuctionManager contract the necessary spending permissions.

After the auction concludes, any excess or leftover reserves are returned to the user's vault. The vault owner can then use the withdrawReserve function to reclaim these excess reserves.

PreviousKeeperNextTab Oracle & Tab Keeper

Last updated 2 months ago