# Introduction Source: https://docs.solanaappkit.com/docs/introduction Open-source React Native scaffold for building iOS and Android crypto mobile apps with seamless Solana protocol integrations Welcome to **Solana App Kit** - an open-source React Native scaffold for building iOS and Android crypto mobile apps with seamless Solana protocol integrations. ## What is Solana App Kit? Solana App Kit is a comprehensive mobile app development framework that provides everything you need to build production-ready Solana applications. Whether you're a seasoned React Native developer or a Solana developer looking to enter mobile development, this kit enables you to build feature-rich apps in under 15 minutes. **Quick Start**: Get your first Solana mobile app running with just `npx start-solana-app` ## Key Features Complete mobile app scaffold with iOS and Android support, production-ready codebase, and minimal configuration Ready-to-use integrations with 10+ major Solana protocols including Jupiter, Raydium, Pump.fun, and more Independent modules that allow you to use only what you need while maintaining clean code separation Built specifically for mobile with native performance, responsive UI, and touch-optimized interactions ## Protocol Integrations The kit includes ready-to-use integrations with major Solana protocols: **Best-in-class DEX aggregator** for optimal swap prices across all Solana DEXs **Native AMM integration** for meme token creation and viral trading **Direct integration** with Raydium's concentrated liquidity pools **Meme token creation** and community-driven trading platform **Professional token launching** with advanced liquidity management **Advanced DeFi token launches** with dynamic liquidity markets **Custom token creation** with configurable bonding curves and tokenomics **Embedded wallets** with social login (Google, Apple, Twitter) **Multi-chain wallet connections** with 300+ wallet support **Enterprise-grade wallet infrastructure** with MPC security **Native Solana Mobile** wallet support with deep linking **Enhanced RPC** and transaction data with better reliability **Real-time token prices** and comprehensive market analytics **Market data** and token information from the leading crypto data provider **Token safety analysis** and security scoring for user protection **NFT minting** and metadata management with industry standards **NFT trading marketplace** integration with advanced analytics **AI-powered Solana interactions** with natural language processing **Fiat on/off-ramps** with Apple Pay and credit card support **MEV protection** and optimized transaction landing ## Who Is This For? Jump into Solana development without learning blockchain from scratch. Leverage familiar patterns and focus on user experience. Extend your reach to mobile platforms using pre-built UI components without learning React Native from scratch. Rapidly prototype and launch Solana-based mobile apps, reducing development time from months to weeks. ## What Can You Build? **Multi-DEX trading platforms** with optimal routing, real-time prices, and advanced order types. Perfect for building the next generation of mobile trading experiences. *Example features: Cross-DEX arbitrage, automated trading strategies, portfolio analytics* **Community-driven token creation** and viral trading platforms. Build the infrastructure for the next big meme token ecosystem. *Example features: One-click token launches, viral sharing mechanisms, community governance* **Combine social features with token interactions** for community-driven investing and shared trading experiences. *Example features: Trading feeds, copy trading, social sentiment analysis* **Create, trade, and showcase digital collectibles** with advanced marketplace features and collection management. *Example features: NFT creation tools, marketplace integration, collection analytics* **Full-featured mobile wallets** with multiple provider support and advanced security features. *Example features: Multi-wallet support, transaction history, security settings* **Integrate AI agents** for automated Solana interactions and intelligent trading assistance. *Example features: Natural language trading, portfolio optimization, market analysis* **Fiat on-ramps and crypto payment solutions** for mainstream adoption and easy onboarding. *Example features: Apple Pay integration, merchant payments, multi-currency support* ## Architecture Overview The kit consists of two main components that work together seamlessly: **Cross-platform mobile framework** for iOS and Android with native performance **Full type safety** and enhanced developer experience with intelligent autocompletion **Predictable state management** with time-travel debugging and persistence **Smooth navigation** between screens with gesture support and deep linking **RESTful API server** with middleware support and robust routing **Reliable data persistence** with ACID compliance and scalability **Google Cloud Storage and IPFS** support for decentralized file storage **WebSocket support** for live updates and real-time collaboration ## Getting Started The fastest way to get started is with our CLI tool: ```bash npx start-solana-app ``` This command will: * Clone the repository * Install all dependencies * Set up your development environment * Launch the app on your device or simulator For detailed setup instructions, continue to the [Setup Guide](/docs/setup) **Pro Tip**: The entire setup process takes less than 5 minutes on most machines! ## Community & Support Join our growing community of Solana mobile developers: **@solanaappkit** - Get real-time help and connect with other developers **@solanaappkit** - Latest updates, tips, and community highlights **SendArcade/solana-app-kit** - Contribute, report issues, and explore the code ## What's Next? Ready to start building? Here's your roadmap: **Install and configure** your development environment with step-by-step instructions **Understand the codebase** organization and learn how everything fits together **Explore available modules** and discover what you can build with each integration **See practical examples** and common patterns for building real applications **New to Solana?** Don't worry! The kit is designed to be beginner-friendly while remaining powerful for experienced developers. *** # Data Module Source: https://docs.solanaappkit.com/docs/modules/data-module Comprehensive blockchain data fetching and management for Solana assets, tokens, NFTs, and market information The Data Module is your central hub for fetching, processing, and managing on-chain and off-chain data related to Solana assets. It provides seamless integration with multiple data sources including Helius, Birdeye, and CoinGecko. ## Core Functionalities Fetch token metadata, balances, prices, and historical price data from multiple sources Retrieve user portfolio assets including NFTs and compressed NFTs (cNFTs) Access comprehensive market data from CoinGecko including OHLC and market details Fetch and process user swap transaction history with enriched metadata ## Installation & Setup Configure your API keys in `.env.local`: ```bash HELIUS_API_KEY=your_helius_api_key BIRDEYE_API_KEY=your_birdeye_api_key COINGECKO_API_KEY=your_coingecko_api_key ``` Import the hooks and services you need: ```typescript import { useFetchTokens, useTokenDetails, useCoingecko } from '@/modules/data-module'; ``` Use the hooks in your components to fetch data ## Module Architecture ``` src/modules/data-module/ ├── services/ # Core API integration logic ├── hooks/ # React hooks for UI integration ├── types/ # TypeScript definitions ├── utils/ # Helper functions └── index.ts # Public API exports ``` ## Core Services **`tokenService.ts`** - Core token data operations ```typescript // Key functions available fetchTokenBalance(walletPublicKey, tokenInfo) fetchTokenPrice(tokenInfo) ensureCompleteTokenInfo(token) estimateTokenUsdValue(amount, decimals, mint, symbol) fetchTokenList(params) searchTokens(params) ``` **`coingeckoService.ts`** - Market data from CoinGecko ```typescript // Available functions getCoinList() getCoinMarkets(coinId) getCoinOHLC(coinId, days) getBatchCoinMarkets(coinIds) ``` **`tokenDetailsService.ts`** - Comprehensive token information ```typescript // Birdeye integration fetchPriceHistory(tokenAddress, timeframe) fetchTokenOverview(tokenAddress) fetchTokenSecurity(tokenAddress) fetchMarketData(tokenAddress) fetchTradeData(tokenAddress) ``` **`swapTransactions.ts`** - Transaction history ```typescript // Helius integration fetchRecentSwaps(walletAddress) enrichSwapTransactions(swaps) ``` ## Essential Hooks ### useFetchTokens() Fetches all fungible tokens in a user's wallet with portfolio data. ```typescript import { useFetchTokens } from '@/modules/data-module'; function UserTokenList() { const { tokens, loading, error, refetch } = useFetchTokens(walletAddress); if (loading) return Loading tokens...; if (error) return Error: {error}; return ( ( )} onRefresh={refetch} /> ); } ``` **Returns:** * `tokens` - Array of user's tokens * `loading` - Loading state * `error` - Error message if any * `refetch` - Function to refresh data ### useTokenDetails() Comprehensive token information for detail views. ```typescript import { useTokenDetails } from '@/modules/data-module'; function TokenDetailScreen({ tokenAddress }) { const { priceHistory, metadata, tokenOverview, loading, selectedTimeframe, handleTimeframeChange } = useTokenDetails({ tokenAddress, visible: true }); return ( ); } ``` **Parameters:** * `tokenAddress` - Token mint address * `visible` - Whether to actively fetch data **Returns:** * `priceHistory` - Historical price data * `metadata` - Token metadata * `tokenOverview` - Overview information * `loading` - Loading states * `selectedTimeframe` - Current timeframe * `handleTimeframeChange` - Timeframe selector ### useCoingecko() Access CoinGecko market data with caching. ```typescript import { useCoingecko } from '@/modules/data-module'; function MarketDataComponent() { const { coinList, searchCoins, searchResults, fetchCoinData, loadingCoinList } = useCoingecko(); const handleSearch = (query) => { searchCoins(query); }; return ( ); } ``` ### useTokenSearch() Debounced token search with pagination. ```typescript import { useTokenSearch } from '@/modules/data-module'; function TokenSearchComponent() { const { tokens, loading, searchQuery, setSearchQuery, loadMore, refresh } = useTokenSearch('', 300); // 300ms debounce return ( } /> ); } ``` ## Quick Start Example ```typescript Basic Token Display import { useFetchTokens, TokenInfo } from '@/modules/data-module'; import { useWallet } from '@/modules/wallet-providers'; function UserTokenPortfolio() { const { wallet } = useWallet(); const { tokens, loading, error, refetch } = useFetchTokens(wallet?.address); if (loading) return ; if (error) return ; return (