Open-source Solana programs for builders

16 production-ready Anchor programs. Composable, auditable, and deployed to devnet. From escrow to flash loans to DAOs.

Get started View Gist Index
11
Deployed to devnet
15
IDLs generated
23
PDA helpers in SDK
0.32
Anchor version

Trading & Finance

Escrow

Trustless P2P token swaps with PDA-based escrow vaults

Deployed

Orderbook

On-chain limit order book with bid/ask matching

Pending

Token Vesting

Linear token vesting with cliff periods

Pending

Treasury Vault

Rate-limited treasury with spending periods

Deployed

Flash Loan

Atomic flash loans with LP pools and configurable fees

Pending

Coordination

Staking Pool

Token staking with configurable reward rates

Deployed

DAO Voting

Token-weighted proposals and vote delegation

Pending

Reputation

Authority-managed on-chain scoring

Deployed

Multi-sig

M-of-N threshold signature wallet

Deployed

Token Gating

NFT Mint

Collection management with on-chain metadata

Deployed

NFT Gated

Token-gated access control with usage tracking

Deployed

Token Distribution

Token Faucet

Rate-limited token distribution with cooldowns

Deployed

Airdrop

Merkle-proof whitelist token distribution

Deployed

Subscription

Recurring payment subscriptions

Deployed

Price Feed

Oracle-style price feed with staleness detection

Deployed

Analytics

Analytics Dashboard

TypeScript CLI for program transaction analysis

TypeScript

Pre-built Stacks

These programs are designed to work together. Combine them to build complete applications.

Token Launch Kit

Token Vesting Airdrop Token Faucet

P2P Trading

Escrow Orderbook

Full Governance

Staking Pool DAO Voting Reputation Multi-sig

SaaS Payments

Subscription Treasury Vault

Token-Gated Community

NFT Mint NFT Gated

Quick Start

# Clone the SDK
git clone https://github.com/ExpertVagabond/solana-programs-sdk.git
cd solana-programs-sdk
npm install
import { getProgram, PROGRAM_IDS, findEscrowPda } from "./src";
import { AnchorProvider } from "@coral-xyz/anchor";

// Get typed program instance
const escrow = getProgram("escrow", provider);

// Derive PDA
const [pda, bump] = findEscrowPda(maker.publicKey, 1n);