Programs
The on-chain layer is an Anchor workspace of programs, built with Anchor 0.31.1 /
Solana-Agave 4.0.2 and deployed to devnet. They're exercised by a master test suite
both in-process (bankrun) and live on devnet. The basis-point denominator is
BPS_DENOMINATOR = 10,000.
The programs
| Program | Role |
|---|---|
| LaunchpadFactory | Orchestrates a launch: create token, wire the chosen fee module. |
| ModuleRegistry | Registry of the immutable fee modules (the splits). |
| CreatorFeeModule | The creator-revenue fee module. |
| FeeRouter | Splits captured fees by the hardcoded 70/15/15 (flagship flywheel). |
| TreasuryVault | Protocol treasury accounting. |
| StakingVault | Stake/unstake, badge tiers, lock multipliers, weight math. |
| RewardDistributor | MasterChef-style reward accumulator; pull-based PYUSD claims. |
| LiquidityModule | Locked DAMM v2 liquidity leg. |
| FeeSharePool | The simplest launch type — raw fees pooled, biweekly harvest to stakers. |
Deployed program IDs (devnet)
| Program | Program ID | Solscan (devnet) |
|---|---|---|
| LaunchpadFactory | 7ReSRA67nDQHWG6QwTYt7fuWiLDxkRFYhva5J6v8Rn3e | view |
| ModuleRegistry | BC6fB3tUmTnb7Z5dupwSHZQ48z3BVcsUT8b2xYokYtxq | view |
| CreatorFeeModule | 5i8TqsYCf2UWe3uzBfQ5RRqqpKF5qogBWvzc13rVsNvA | view |
| FeeRouter | 3WQHWhJMhw9Mc6au3Ecu8APifekbyKo83mT87Hu7FW6B | view |
| TreasuryVault | 6CxDQWrGN8J9Crj419xBekdD1RQjkpaxuchHPhJJm5UD | view |
| StakingVault | APJeeF4cWiQMRzvVE6Jw8ysRLtRo3etauD5kAmXjWWRs | view |
| RewardDistributor | 4tN2ka4ropHr6AUzidnFU8Tejgo3VyfqByciDjxNugnW | view |
| LiquidityModule | DMr6v6UUDV6SoWScLLVmKmhi1ohut2MrL5Z98JTRnzNx | view |
| FeeSharePool | FZxqMX5SKpWyTGMJNy63DCqX1Rdm1RVV5kAeEomjXcX8 | view |
| mock_lst (test double) | 34e8PkUU5SWN1dHmLjsfHABdLho1AwattzVnsJVvMzxr | view |
These mirror the
declare_id!values andAnchor.tomlexactly. The UI reads them fromprotocol.tsso dashboards target the real deployed addresses. The 8 core programs +mock_lstare confirmed deployed and tested on devnet; see the full list with all links on the Links & Community page.
Key token mints & integrations
| Name | Address / note |
|---|---|
| PYUSD (mainnet) | 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo — a Token-2022 mint |
| Token-2022 program | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb |
| Kamino KLend | KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD |
| Meteora DBC | dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN |
| Meteora DAMM v2 | cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG |
| JupSOL mint | jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v |
PYUSD is a Token-2022 mint and uses a different mint on devnet (
CXk2AMBfi3TwaEL2468s6zP8xq9NxTXjp9gjMgzeUynM). The reserve/reward legs must use the right one for their cluster.
The skins programs
Separate from the launchpad workspace, the game's skin economy has its own Anchor workspace:
| Program | Program ID | Solscan (devnet) |
|---|---|---|
| ions_skins (primary shop) | 6MRLreR3cDH8FbZ5SxLM61pnPKedbSG8qdbXwwMD24jU | view |
| ions_market (resale escrow) | DY1nytcG2VAHj2RV5sX3etmWwZQ5m61eQMmkhx9KDCXT | view |
ions_skinsmints/credits skins on the primary-shop side.ions_marketescrows resale USDC and is the sole fund authority. See Marketplace Architecture.
Status
Fee-split / reward / badge / lock / immutability logic is fully implemented and tested. External CPIs to Meteora DBC/DAMM v2, Jupiter, and Kamino remain TODO (no real token movement yet).