Staking Pools
The StakingPoolSDK and StakingPoolFactorySDK manage staking pools — configurable long-duration reward distribution for any token. Staking pools are used by both Akita Protocol and third-party projects across Algorand, providing a public utility for token reward distribution.
Initialization
Section titled “Initialization”import { StakingPoolSDK, StakingPoolFactorySDK } from '@akta/sdk/staking-pool'
const poolFactory = new StakingPoolFactorySDK({ algorand })
// Interact with an existing poolconst pool = new StakingPoolSDK({ algorand, factoryParams: { appId: poolAppId },})Creating a Pool
Section titled “Creating a Pool”const pool = await poolFactory.new({ title: 'AKTA Staking Pool', type: StakingPoolStakingType.Standard, marketplace: marketplaceAddr, stakeKey: { address: stakeKeyAddr, name: 'AKTA' }, minimumStakeAmount: 1_000_000n,})With optional parameters:
const pool = await poolFactory.new({ sender: myAddress, signer: mySigner, title: 'Gated Staking Pool', type: StakingPoolStakingType.Standard, marketplace: marketplaceAddr, stakeKey: { address: stakeKeyAddr, name: 'AKTA' }, minimumStakeAmount: 1_000_000n, allowLateSignups: true, gateId: gateAppId, maxEntries: 100n,})Key Features
Section titled “Key Features”- Any token — Distribute rewards in any Algorand Standard Asset
- Long-duration — Configure reward distribution over extended periods
- Factory pattern — Anyone can create staking pools
- Impact-based fees — Pool creation fees scale with social impact
- Used across Algorand — A public utility used by Akita and third-party projects
Staking pool operations through a wallet use the StakingPoolPlugin. See Wallet Plugins.