Skip to content

akita-protocol/akita-sc

Repository files navigation

Akita Smart Contracts

A comprehensive suite of Algorand smart contracts powering the Akita ecosystem — built with Puya Ts and AlgoKit.

Overview

Akita is a modular smart contract platform featuring ARC-58 abstracted accounts, a plugin architecture for extensible wallet functionality, and a rich ecosystem of DeFi, social, and community engagement primitives.


Architecture

Core Components

Component Description
ARC-58 Abstracted Accounts Smart contract wallets with plugin-based extensibility
DAO Decentralized governance and administrative control
Plugin System Modular functionality that can be attached to abstracted accounts
Gate System Composable access control with pluggable sub-gates

System Modules

ARC-58 Abstracted Accounts

Smart contract wallets implementing ARC-58 standard with support for:

  • Multi-key authentication (Ed25519, secp256r1 passkeys)
  • Plugin-based extensibility
  • Factory pattern for wallet deployment

DAO

Decentralized autonomous organization contract for:

  • Governance and voting
  • Administrative operations
  • Protocol parameter management

Staking

Flexible staking system with:

  • Staking Contract — Core staking logic with time-weighted rewards
  • Staking Pool Factory — Deploy isolated staking pools with custom parameters

Subscriptions

Recurring payment and membership system:

  • Subscription tiers and streaks
  • Service declaration & parameter locking
  • Subscription-gated access control

Rewards

Free public good for token distribution:

  • Group distributions
  • Claimable rewards w/ expirations

Social

Decentralized social primitives:

  • Social Contract — Core social interactions
  • Social Graph — On-chain follow/follower relationships
  • Social Impact — Reputation and engagement scoring
  • Social Moderation — Community moderation tools

Marketplace

NFT and ASA marketplace:

  • Listing creation and management
  • Buy/sell operations
  • Double-sided marketplace incentivizing site integration

Auctions

Auction system with factory pattern:

  • Bid fees for weighted raffle mechanics
  • Double-sided marketplace incentivizing site integration
  • Multi-dapp participation support

Raffles

Verifiable random raffles:

  • Tickets in any ASA
  • VRF-based winner selection
  • Double-sided marketplace incentivizing site integration

Polls

On-chain voting and polling:

  • Multiple choice polls
  • Time-bounded voting
  • Gate-restricted participation

Prize Boxes

Bundle assets for sale, auction, or raffle as a single package.

Gates

Composable access control system with 16 sub-gates:

Sub-Gate Purpose
akitaReferrerGate Akita referrer verification
assetGate ASA holding requirements
merkleAddressGate Merkle proof address allowlist
merkleAssetGate Merkle proof asset allowlist
nfdGate NFD ownership verification
nfdRootGate NFD root ownership verification
pollGate Poll participation requirements
socialActivityGate Social activity thresholds
socialFollowerCountGate Follower count requirements
socialFollowerIndexGate Follower index verification
socialImpactGate Social impact score thresholds
socialModeratorGate Moderator role verification
stakingAmountGate Staking amount requirements
stakingPowerGate Staking power thresholds
subscriptionGate Active subscription verification
subscriptionStreakGate Subscription streak requirements

HyperSwap

Peer-to-peer swap engine supporting practically limitless unique assets and parties in a simulated atomic transaction group.

Meta Merkles

On-chain metadata contract using merkle roots as namespaces for efficient metadata about sets of assets, addresses, apps, and more. Ingestible by other contracts for composable data verification.


Plugins

Wallet plugins extend abstracted account functionality:

Plugin Description
optInPlugin ASA opt-in operations
payPlugin Payment operations
asaMintPlugin ASA creation and minting
auctionPlugin Auction interactions
daoPlugin DAO interactions
dualStakePlugin Dual token staking
gatePlugin Gate verification
hyperSwapPlugin P2P multi-party swaps
marketplacePlugin Marketplace operations
nfdPlugin NFD operations
paySiloPlugin Pay silo interactions
paySiloFactoryPlugin Pay silo deployment
pollPlugin Poll voting
rafflePlugin Raffle participation
revenueManagerPlugin Revenue distribution
rewardsPlugin Reward claiming
socialPlugin Social interactions
stakingPlugin Staking operations
stakingPoolPlugin Staking pool interactions
subscriptionsPlugin Subscription management
updatePlugin Contract updates

Deployment

Core Contracts

Contract Testnet Mainnet
dao 751971739 3368388956
wallet 751972058 3368395481
walletFactory 751971757 3368389117
escrowFactory 751967076 3368388829

DeFi Contracts

Contract Testnet Mainnet
staking 751971819 3368393172
stakingPoolFactory 751971794 3368391029
subscriptions 751971779 3368389628
rewards 751971741 3368388985
hyperSwap 757503297 3488065730
marketplace 751971922 3368394180
auctionFactory 751971901 3368393933

Community Contracts

Contract Testnet Mainnet
social 751971872 3368393551
socialGraph 754162173 3414941676
socialImpact 757498720 3487942274
socialModeration 751971873 3368393629
pollFactory 751971931 3368394268
raffleFactory 751971928 3368394210
prizeBoxFactory 751971937 3368394289

Infrastructure Contracts

Contract Testnet Mainnet
gate 757500594 3487979365
metaMerkles 751971947 3368394372

Plugins

Plugin Testnet Mainnet
optInPlugin 751968346 3368398585
selfOptInPlugin 757594161 3490296923
payPlugin 751968379 3368399056
asaMintPlugin 751968373 3368398964
auctionPlugin 757503999 3488090697
daoPlugin 751972311 3368399317
dualStakePlugin 757504668 3488114453
gatePlugin 751972318 3368399411
hyperSwapPlugin 751972295 3368399121
marketplacePlugin 757504090 3488095775
nfdPlugin 751972324 3368399559
paySiloPlugin 751972334 3368399670
paySiloFactoryPlugin 751968441 3368399704
pollPlugin 751972340 3368399770
rafflePlugin 757504189 3488098470
revenueManagerPlugin 757504722 3488128159
rewardsPlugin 751972347 3368399956
socialPlugin 757769536 3494983135
stakingPlugin 751972363 3368400044
stakingPoolPlugin 757504244 3488100384
subscriptionsPlugin 752474150 3378296099
updatePlugin 757505426 3488161934

Sub-Gates

Sub-Gate Testnet Mainnet
akitaReferrerGate 751971962 3368394596
assetGate 751971964 3368394608
merkleAddressGate 751971975 3368394591
merkleAssetGate 751971967 3368394598
nfdGate 751971977 3368394599
nfdRootGate 751971966 3368394594
pollGate 751971963 3368394595
socialActivityGate 757500595 3487979397
socialFollowerCountGate 757500596 3487979460
socialFollowerIndexGate 754162353 3414942860
socialImpactGate 751971971 3368394605
socialModeratorGate 757500598 3487979491
stakingAmountGate 751971968 3368394603
stakingPowerGate 757500610 3487979550
subscriptionGate 757500614 3487979601
subscriptionStreakGate 751971976 3368394607

Assets

Asset Testnet Mainnet
AKITA 523683256
BONES 751973254 3368406527

External Dependencies

Contract Testnet Mainnet
VRF Beacon 600011887 1615566206
NFD Registry 84366825 760937186
Asset Inbox 643020148 2449590623
Akita NFD 765902356

SDK

The akita-sdk package provides modular TypeScript bindings — import only what you need:

Package Import
Auction akita-sdk/auction
DAO akita-sdk/dao
Escrow akita-sdk/escrow
Gates akita-sdk/gates
HyperSwap akita-sdk/hyper-swap
Marketplace akita-sdk/marketplace
Meta Merkles akita-sdk/meta-merkles
Poll akita-sdk/poll
Prize Box akita-sdk/prize-box
Raffle akita-sdk/raffle
Rewards akita-sdk/rewards
Social akita-sdk/social
Staking akita-sdk/staking
Staking Pool akita-sdk/staking-pool
Subscriptions akita-sdk/subscriptions
Wallet akita-sdk/wallet
// Import specific modules
import { WalletSDK } from 'akita-sdk/wallet';
import { StakingSDK } from 'akita-sdk/staking';
import { SubscriptionsSDK } from 'akita-sdk/subscriptions';

See projects/akita-sdk for full documentation.


Plugin Development Kit

The @akta/plugin package (akita-plugin) provides a utility library for building ARC-58 abstract account plugins with PuyaTs. It includes the base contract, types, constants, and helper functions needed to develop custom plugins that extend abstracted account functionality.

See projects/akita-plugin for details.


License

This project is licensed under the Akita Business Source License.

Before January 1, 2029: You may use, copy, modify, and redistribute the code for any purpose, including production use, except you may not use it to provide a competing commercial service. Internal use and building applications that interact with the official Akita protocol are permitted.

On and after January 1, 2029: The code becomes available under the GNU General Public License v2 (or later).

See the LICENSE file for full details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages