Skip to main content
The Solana App Kit is built with a modular architecture, allowing you to use only the features you need while maintaining clean separation of concerns. Each module encapsulates a specific protocol or functionality.

Available Modules

Embedded Wallets

Multi-provider wallet integration with Privy, Dynamic, Turnkey, and Mobile Wallet Adapter support

Swap

Token swapping via Jupiter aggregator with best price routing across all DEXs

Pump.fun

Meme token creation, trading, and community features with Pump.fun integration

Raydium

Advanced AMM and concentrated liquidity features via Raydium protocol

Meteora

Dynamic liquidity pools and yield farming with Meteora protocol

TokenMill

Custom token creation with bonding curves, staking, and vesting features

NFT

NFT minting, trading, and display with Metaplex and Tensor integration

Data Module

Blockchain data fetching, token prices, and market analytics

MoonPay

Fiat on-ramp integration for buying crypto with cards and Apple Pay

Solana Agent Kit

AI-powered Solana interactions and automated trading assistance

Module Categories

🔐 Wallet & Authentication

💱 Trading & DeFi

🎨 Assets & Media

  • NFT: Non-fungible token functionality

📊 Data & Analytics

💳 Payments

🤖 AI & Automation

Module Architecture

Each module follows a consistent structure:
module-name/
├── components/     # React Native UI components
├── hooks/          # Custom React hooks
├── services/       # API and blockchain services
├── screens/        # Module-specific screens
├── types/          # TypeScript type definitions
├── utils/          # Utility functions
├── index.ts        # Public API exports
└── README.md       # Module documentation

Integration Patterns

Independent Usage

// Use individual modules
import { useSwap } from '@/modules/swap';
import { useNFT } from '@/modules/nft';

function MyComponent() {
  const { executeSwap } = useSwap();
  const { mintNFT } = useNFT();
  
  // Use module functionality
}

Combined Functionality

// Combine multiple modules
import { useWallet } from '@/modules/wallet-providers';
import { useSwap } from '@/modules/swap';
import { useThread } from '@/core/thread';

function TradingPost() {
  const { wallet } = useWallet();
  const { executeSwap } = useSwap();
  const { createPost } = useThread();
  
  // Create trading posts that execute swaps
}

Module Dependencies

Most modules depend on:
  • Wallet Providers: For transaction signing
  • Data Module: For token information

Getting Started with Modules

1

Choose Your Modules

Identify which protocols and features your app needs
2

Install Dependencies

Each module lists its specific dependencies and setup requirements
3

Configure Environment

Set up API keys and environment variables for chosen modules
4

Initialize Modules

Import and configure modules in your app

Module Comparison

ModuleComplexitySetup TimeKey Use Cases
Wallet ProvidersMedium15 minUser authentication, transaction signing
SwapLow5 minToken trading, price discovery
Pump.funLow10 minMeme tokens, viral trading
RaydiumHigh30 minAdvanced DeFi, liquidity provision
MeteoraHigh30 minYield farming, dynamic pools
TokenMillHigh45 minCustom tokenomics, advanced features
NFTMedium20 minDigital collectibles, marketplace
Data ModuleLow5 minMarket data, analytics
MoonPayMedium20 minFiat payments, onboarding
Solana Agent KitMedium25 minAI trading, automation

Best Practices

Start Small: Begin with 2-3 core modules and add others as needed
Wallet First: Always set up Embedded Wallets Module before other modules
Environment Variables: Each module requires specific API keys and configuration

Module Roadmap

Future modules in development:
  • Governance: DAO and voting functionality
  • Lending: DeFi lending protocols
  • Options: Derivatives trading
  • Social: Enhanced social features

Ready to dive into a specific module? Choose from the cards above or explore the detailed documentation for each integration.