SOLStake - Solana SPL Token Staking Platform
Non-custodial SPL token staking platform on Solana
Description
Live Demo | Documentation | Support: info@blockshark.com
SOLStake is a full-stack, non-custodial SPL token staking platform built on Solana. It ships with a production-ready Anchor smart contract and a modern Next.js frontend — everything you need to launch a fixed-APY staking pool for any SPL token.
The smart contract holds all funds in PDA-controlled vaults, meaning the pool authority never has direct access to user deposits. Users stake tokens, earn a fixed yield, and can unstake or claim rewards at any time. The admin can pause new stakes if needed, but withdrawals and claims always remain open.
What You Get
- Anchor smart contract (Rust) — fully documented, 6 instructions, modular file structure
- Next.js 16 frontend (React 19, TypeScript, Tailwind CSS 4) — responsive dashboard with real-time data
- Admin panel — initialize pools, deposit rewards, pause/resume, test token faucet
- 25 integration tests covering every instruction and edge case
- Complete HTML documentation with deployment guide, admin walkthrough, and security notes
- Dev scripts for local setup and a packaging utility
Smart Contract
The on-chain program is written in Rust using the Anchor framework (v0.32). It handles pool initialization, staking, unstaking, reward claiming, reward deposits, and pause toggling. APY is set once during pool creation and cannot be changed — fully transparent for your users.
Accounts use deterministic PDA seeds, so there are no admin-controlled token transfers. The program owns two vaults per pool: one for staked tokens and one for rewards. If the reward vault runs dry, pending rewards are preserved on-chain and can be claimed once the vault is topped up.
Frontend Features
- Real-time pending rewards ticker (updates every second)
- 7-day staking activity chart (stakes, unstakes, claims)
- Recent transaction history feed
- Pool stats: TVL, APY, total stakers, reward vault balance
- Staking form with max button and token balance display
- Pool data visible without connecting a wallet — better UX for new visitors
- Network badge auto-detects Devnet / Mainnet / Testnet from RPC config
- Wallet support via Solana Wallet Adapter (Phantom, Solflare, Backpack, etc.)
Admin Panel
- Initialize a staking pool with custom APY (basis points) and any SPL token mint
- Deposit and top up reward vault
- Pause and resume the pool
- One-click test faucet: creates a token, airdrops 1,000 tokens, and sets up a 12% APY pool for testing
Tech Stack
- Smart Contract: Rust, Anchor 0.32
- Frontend: Next.js 16, React 19, TypeScript 5
- Styling: Tailwind CSS 4
- Blockchain: @solana/web3.js, @coral-xyz/anchor
- Charts: Recharts
- Wallet: Solana Wallet Adapter
Requirements
- Rust (latest stable via rustup)
- Solana CLI v1.18+
- Anchor CLI v0.30+
- Node.js v18+ with yarn
Deployment
Deploy to Devnet in under 5 minutes. Switch to Mainnet by changing one config file and redeploying. Full step-by-step instructions are included in the documentation — no blockchain experience required to get it running.
The frontend can be hosted on Vercel, Netlify, or any static host. Just set the root directory to app/ and deploy.
Security
- Non-custodial — PDA vaults, no admin access to user funds
- Immutable APY — set at creation, cannot be changed
- Always unstakeable — pause only blocks new stakes, never locks funds
- Upgradeable by default — can be permanently locked with one Solana CLI command
File Structure
solstake/
documentation/ HTML docs (open index.html)
programs/sol-stake/ Anchor smart contract (Rust)
app/ Next.js frontend
tests/ 25 integration tests
scripts/ Setup and packaging scripts
Anchor.toml Anchor workspace config
README.md Quick start guide
CHANGELOG.md Version history
LICENSE License terms
Changelog
v1.0.0 — Initial release. Full staking protocol, admin panel, real-time dashboard, 25 tests, complete documentation.
Support
Reach out at info@blockshark.com for questions, bug reports, or customization requests. We typically respond within 24 hours.
Disclaimer: Web3.Market is a marketplace platform that facilitates the sale of digital products between independent sellers and buyers. We do not develop, endorse, or guarantee any product listed on this platform. All products are provided by third-party sellers and are sold "as is." Web3.Market assumes no responsibility or liability for the functionality, security, legality, or any use or misuse of products purchased through this platform. Buyers are solely responsible for evaluating the suitability of any product for their intended purpose and for ensuring compliance with all applicable laws and regulations. By purchasing, you acknowledge that Web3.Market shall not be held liable for any direct, indirect, incidental, or consequential damages arising from the use of any product.
One-time payment • Lifetime access
Product Info
RPC Providers
Need a reliable RPC endpoint for your dApp? Get started with these trusted providers:
