Auctions
The AuctionSDK and AuctionFactorySDK manage on-chain auctions. Akita uses a “crack auction” model with an optional VRF-powered raffle for non-winning bidders.
Concepts
Section titled “Concepts”Crack Auctions
Section titled “Crack Auctions”A crack auction is a standard ascending-price auction where:
- Bidders place increasingly higher bids
- The highest bidder wins when the auction ends
- A portion of bid fees can fund a VRF raffle for losing bidders
VRF Raffle
Section titled “VRF Raffle”Optionally, bid fees accumulate into a prize pool. When the auction ends, losing bidders compete in a weighted raffle for the accumulated pool — bidders who placed higher bids have proportionally greater chances. A VRF (Verifiable Random Function) beacon provides on-chain randomness for the draw. This makes participation worthwhile even for non-winning bidders.
Initialization
Section titled “Initialization”import { AuctionSDK, AuctionFactorySDK } from '@akta/sdk/auction'
const auctionFactory = new AuctionFactorySDK({ algorand })
// Interact with an existing auctionconst auction = new AuctionSDK({ algorand, factoryParams: { appId: auctionAppId },})Creating an Auction
Section titled “Creating an Auction”const auction = await auctionFactory.newAuction({ bidAssetId: 0n, // Bid with ALGO startingBid: 1_000_000n, // 1 ALGO minimum bidMinimumIncrease: 100_000n, // 0.1 ALGO min increment bidFee: 5n, // 5% bid fee startTimestamp: BigInt(Math.floor(Date.now() / 1000)), endTimestamp: BigInt(Math.floor(Date.now() / 1000) + 86400), // 24h prizeAsset: nftAssetId, prizeAmount: 1n, name: 'My NFT', proof: merkleProof, marketplace: marketplaceAddr, gateId: 0n, // No gate weightsListCount: 0n, // No raffle weights})Key Features
Section titled “Key Features”- Configurable duration — Set auction start and end times
- Reserve price — Minimum bid to start the auction
- Bid increments — Minimum amount each new bid must exceed the previous
- Raffle integration — Optional VRF raffle from bid fees
- Double-sided fees — Both listing and purchasing platforms can take fees
- Composable fees — DAO-controlled auction creation fees and sale percentages
Auction operations through a wallet use the AuctionPlugin. See Wallet Plugins.