Staking
The StakingSDK manages a universal public staking contract designed for the entire Algorand ecosystem, not just Akita Protocol. Users stake once and benefit across multiple reward platforms rather than fragmenting positions across competing systems.
Staking Types
Section titled “Staking Types”Four staking types serve different use cases:
| Type | Behavior | Lock | Transfer |
|---|---|---|---|
| Heartbeat | Tracks balances without transfers — useful for rewards based on existing holdings | None | No |
| Soft | Flexible staking with no lock period | None | Yes |
| Hard | Escrow-based staking for stronger commitment | None | Yes (to escrow) |
| Lock | Escrow-based with a defined lockup period — used for governance participation and premium reward tiers | Fixed duration | Yes (to escrow) |
Initialization
Section titled “Initialization”import { StakingSDK } from '@akta/sdk/staking'
const staking = new StakingSDK({ algorand })Key Operations
Section titled “Key Operations”// Read global stateconst state = await staking.getGlobalState()
// Stake tokens, withdraw, and claim rewards// are performed through the wallet plugin systemStaking operations are typically executed through the ARC-58 wallet’s plugin system. The StakingPlugin is installed on the wallet and invoked via wallet.usePlugin().
For dual-token governance staking (equal portions of AKTA and BONES with time decay), use the DualStakePlugin. See Wallet Plugins for details.