Skip to content

iceypump/staked

Repository files navigation

Contributors Forks Stargazers Issues License


Staked Contract

Anchor-based Solana staking and creator-fee routing program for Pump.fun-launched tokens.
Explore the docs »

View Source · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Staked Contract is an Anchor workspace for staked, a Solana program that lets token holders stake Pump.fun-launched tokens for fixed lock periods and receive rewards from creator-fee streams.

The program uses a per-mint fee_owner PDA so Pump.fun and PumpSwap creator fees can be routed into staking rewards through bounded on-chain instructions instead of being controlled by a human wallet. It supports legacy SPL Token and Token-2022 staking mints, SOL rewards, quote-token rewards, WSOL unwrapping, and protocol-fee routing.

Current status:

  • Program name: staked
  • Program ID: aZPKJ99yjfE6MjZ5isXNjm3ndanBdx5gX35nwmLBANK
  • Anchor version: 0.32.1
  • Network target: Solana
  • Audit status: unaudited

See programs/staking/README.md for account layouts, PDA derivations, staking rules, reward flows, and instruction details.

(back to top)

Built With

  • Rust
  • Solana
  • Anchor
  • Node.js
  • Solana Verify

(back to top)

Getting Started

Follow these steps to build and check the program locally.

Prerequisites

Install the Solana and Anchor development toolchain:

  • Rust
    rustc --version
  • Solana CLI
    solana --version
  • Anchor CLI
    anchor --version
  • Node.js and npm
    node --version
    npm --version

For verifiable builds, also install Docker and the Solana Verify CLI:

  • Docker
    docker --version
  • Solana Verify CLI
    npm run install:solana-verify

Installation

  1. Clone the repo
    git clone https://github.com/iceypump/staked.git
  2. Enter the project directory
    cd staked
  3. Install script dependencies
    npm install
  4. Build the Anchor program
    anchor build
  5. Run tests
    anchor test

For a lighter Rust-only check:

cargo check

For a deterministic Solana program build using Solana Verify:

npm run build:verifiable
npm run hash:verifiable

(back to top)

Usage

Useful development commands:

npm run check:scripts
npm run create:pump-devnet -- --quote sol
npm run volume:pump-devnet -- --mint <MINT>
npm run stake:test-wallets -- --mint <MINT>

Verifiable build commands:

npm run install:solana-verify
npm run build:verifiable
npm run hash:verifiable
npm run verify:repo -- --url <RPC_URL> --commit-hash <COMMIT_HASH>

Deploy the .so produced by npm run build:verifiable when you intend to verify the on-chain program. Rebuilding with anchor build before deploy can produce a different executable hash.

The helper scripts default to Solana Devnet and ~/.config/solana/id.json. Generated local test wallets are written to .devnet-test-wallets/, which is intentionally ignored.

The Anchor program source is in programs/staking/src. The program-specific README documents the main instructions:

  • initialize_launch
  • stake
  • increase_stake
  • claim_rewards
  • initialize_quote_rewards
  • initialize_quote_stake
  • unstake
  • claim_pump_creator_fees
  • claim_pump_quote_creator_fees
  • claim_pumpswap_creator_fees
  • claim_pumpswap_quote_creator_fees
  • claim_protocol_fees
  • claim_quote_protocol_fees

For more details, see the program documentation.

(back to top)

Roadmap

  • Add complete integration tests
  • Add localnet Pump.fun and PumpSwap mocks
  • Add quote-token reward tests
  • Add Token-2022 staking tests
  • Add deployment guide
  • Add independent audit report
  • Add client SDK examples

See the open issues for a full list of proposed features and known issues.

(back to top)

Contributing

Contributions are welcome. If you have a suggestion that would make this better, fork the repo and open a pull request, or open an issue with the enhancement label.

  1. Fork the project
  2. Create your feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m "Add amazing feature"
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a pull request

(back to top)

Top Contributors

contrib.rocks image

License

Distributed under the MIT License.

See LICENSE for more information.

(back to top)

Contact

(X) Iceypump - @icetypump

Project Link: https://github.com/iceypump/staked

(back to top)

Acknowledgments

(back to top)

About

Easily use pump.fun fees to reward the holders for staking there tokens. Everyone that stake gets a share of the fees

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors