Skip to main content
SolanaTypeScriptExpress.jsPostgreSQLWebSocket

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

  • Node.js: v16 or higher
  • Package Manager: pnpm (latest version)
  • Database: PostgreSQL (latest version)
  • Solana Wallet: With SOL for transactions
  • RPC Endpoint: Access to Solana RPC (Helius recommended)
  • Google Cloud Storage: Account with bucket setup
  • Pinata: Account for IPFS storage
  • Turnkey: API access for wallet management
  • Expo: For push notifications

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

Installation Guide

Complete setup instructions with detailed environment configuration

API Documentation

Comprehensive API reference with examples and responses

Deployment

Production deployment guides for various platforms

Integration Examples

Real-world examples of client-server integration

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