Overview

This backend server is built with Express.js and TypeScript, offering a robust API for Solana blockchain interactions, social features, real-time messaging, and comprehensive token management. It serves as the core backend for the Solana App Kit, providing modular, reusable, and easily customizable components for developers.

Features

Token Management

  • Token creation via TokenMill
  • Market creation and management
  • Setting bonding curves
  • Token swapping (buy/sell)
  • Staking and vesting
  • Market graduation and funding

DEX Integrations

  • Jupiter DEX swapping
  • Raydium swap integration
  • Meteora DBC (Dynamic Bonding Curve)
  • PumpFun token launches
  • Cross-platform swap quotes

Social Features

  • Thread creation and management
  • User profiles and authentication
  • Follow system and user interactions
  • Image upload and management
  • User reactions and engagement

Real-time Features

  • WebSocket-based chat system
  • Global chat functionality
  • Real-time message delivery
  • Chat image support
  • Push notifications via Expo

Storage Solutions

  • IPFS integration via Pinata
  • Google Cloud Storage
  • Image processing and optimization
  • Metadata management
  • File upload handling

Wallet & Security

  • Turnkey API integration
  • Secure wallet management
  • Transaction signing
  • Admin authentication system
  • Multi-signature support

NFT Operations

  • NFT minting and management
  • Metadata handling
  • Collection management

Aura System

  • Aura-based interactions
  • User reputation management
  • Community engagement tracking

Prerequisites

Quick Start

1

Clone and Navigate

git clone https://github.com/SendArcade/solana-app-kit.git
cd solana-app-kit/server
2

Install Dependencies

pnpm install
3

Environment Setup

cp .env.example .env

Configure all required environment variables in your .env file. See the Configuration section for details.

4

Start Development Server

pnpm dev

The server will start on port 8080 (or the port specified in your environment variables) with WebSocket support enabled.

Architecture Overview

The server follows a modular, service-oriented architecture:

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Controllers   │◄──►│    Services     │◄──►│   External APIs │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         ▲                        ▲                        ▲
         │                        │                        │
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│     Routes      │    │   Utilities     │    │   Blockchain    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         ▲                        ▲                        ▲
         │                        │                        │
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│  Express App    │◄──►│   Database      │    │   WebSockets    │
└─────────────────┘    └─────────────────┘    └─────────────────┘

Core Services

Capabilities:

  • Token creation and market management
  • Setting bonding curves for dynamic pricing
  • Token swapping with optimal rates
  • Staking mechanisms for rewards
  • Vesting schedules for token distribution
  • Market graduation and funding

Key Features:

  • Integration with Solana programs
  • Real-time price calculations
  • Transaction optimization

API Endpoints Overview

TokenMill Endpoints

EndpointMethodDescription
/api/configPOSTCreate TokenMill configuration
/api/quote-token-badgePOSTGet token badge quote
/api/marketsPOSTCreate token market
/api/free-marketPOSTFree market from restrictions
/api/tokensPOSTCreate new token
/api/swapPOSTExecute token swap
/api/stakePOSTCreate staking position
/api/vestingPOSTCreate vesting schedule

DEX Integration Endpoints

EndpointMethodDescription
/api/jupiter/*VariousJupiter DEX integration
/api/raydium/swap/*VariousRaydium swap operations
/api/meteora/*VariousMeteora DBC operations
/api/pump-swap/*VariousPumpSwap functionality

Social & Real-time Features

EndpointMethodDescription
/api/threadVariousThread management
/api/profileVariousUser profiles
/api/chatVariousReal-time messaging
/api/notificationsVariousPush notifications

For detailed API documentation, see the API Reference section.

Security Measures

Important Security Considerations

  • All transactions require proper signature verification
  • Environment variables store sensitive credentials
  • Database queries use parameterized statements
  • Error messages are sanitized
  • CORS configuration for API access
  • WebSocket connection validation

Development Workflow

# Start with auto-reload
pnpm dev

# Run with specific port
PORT=3000 pnpm dev

Next Steps


Need Help? Check out our support channels or open an issue in the GitHub repository.