Skip to content

Repository files navigation

SplitPay Documentation

The official developer documentation hub for the SplitPay collaborative payment distribution protocol on Stellar and Soroban.

GitHub Docs Live App Next.js React TypeScript Stellar Soroban

Official Platform URL: http://splitpaydocs.samkiel.dev/
GitHub Organization: github.com/Splitpayx
Production Web Application: http://splitpay.samkiel.dev/


🌐 Ecosystem Overview

SplitPay is a trustless, non-custodial collaborative payment splitting and fund distribution protocol built natively on the Stellar network using Soroban smart contracts.

Repository Role in Ecosystem Technology Status
splitpay-contracts On-chain financial authority, SEP-41 token interactions, immutable distributions Rust / Soroban v22 Active (Testnet)
splitpay-web Decentralized web application, Freighter wallet signing, pool management Next.js 16 / React 19 Active
splitpay-mobile Cross-platform mobile client for pool monitoring & payment signing React Native Planning / Scaffolding
splitpay-sdk Typed Soroban contract invocation client (first-party client in web, standalone planned) TypeScript Client Implemented
splitpay-api Event indexing pipeline, historical analytics, webhook relays Node.js / PostgreSQL Architecture Specified
splitpay-docs ← this repo Master documentation platform across all ecosystem components Next.js 16 (App Router) Active

📚 Documentation Hierarchy

The documentation platform covers 58 topics organized into 12 structured sections:

http://splitpaydocs.samkiel.dev/
├── docs/introduction/
│   ├── overview                  - High-level protocol mission and trust boundaries
│   ├── what-is-splitpay          - Multi-party splitting without intermediaries
│   ├── how-it-works              - Payer → Pool → Soroban Contract → Recipients flow
│   ├── architecture              - Separation of on-chain authority vs application UX
│   └── terminology               - Pools, Basis Points (BPS), Stroops, SAC, Footprints
├── docs/getting-started/
│   ├── quickstart                - 5-minute guide to creating a pool and splitting funds
│   ├── freighter-wallet          - Freighter browser extension setup & Testnet switching
│   ├── testnet-funding           - Funding addresses via Friendbot RPC
│   └── first-split               - Executing and settling your first payment
├── docs/concepts/
│   ├── pools                     - Multi-party recipient shares & verification rules
│   ├── basis-points              - 10,000 BPS = 100.00% math and strict zero-loss invariants
│   ├── atomic-settlement         - Single-transaction disbursement mechanics
│   ├── pool-lifecycle            - Active vs Paused states and owner permissions
│   └── payment-lifecycle         - Pending record creation, execution, and settled receipts
├── docs/protocol/
│   ├── contract-overview         - Soroban v22 architecture and WASM deployment
│   ├── storage                   - Instance and persistent storage keys & TTL footprints
│   ├── state-transitions         - Deterministic lifecycle state machine
│   ├── functions                 - Complete reference for all 13 contract entrypoints
│   ├── events                    - Soroban event topics (pool_created, payment_settled)
│   └── errors                    - 14 error variants with exact numeric codes (1..14)
├── docs/web/
│   ├── overview                  - Next.js 16 App Router decentralized client architecture
│   ├── env-config                - RPC URLs, Contract IDs, and Network Passphrases
│   ├── wallet-integration        - Freighter API adapter & instant Testnet Dev Keypairs
│   ├── components                - PoolWizard, AllocationList, and Payment modals
│   └── deployment                - Production deployment guides for Vercel and Netlify
├── docs/mobile/
│   ├── overview                  - React Native mobile client architecture
│   ├── setup                     - Development environment & wallet connector
│   ├── screens                   - Pool inspector and payment authorization screens
│   └── roadmap                   - Biometric transaction signing & push notification relay
├── docs/sdk/
│   ├── overview                  - SplitPayContractClient design principles
│   ├── client-reference          - Read simulations, transaction builders, confirmation polling
│   ├── transaction-builders      - Assembling XDR for pool and payment execution
│   ├── error-handling            - Decoding Soroban invokeHostFunction error codes
│   └── code-recipes              - Production TypeScript examples
├── docs/api/
│   ├── overview                  - Indexer architecture & Soroban RPC ingestion pipeline
│   ├── data-models               - PostgreSQL schemas for pools, payments, and member shares
│   ├── endpoints                 - REST endpoints for cached pool queries and receipts
│   └── webhooks                  - Real-time settlement notifications
├── docs/guides/
│   ├── create-a-pool             - Step-by-step pool deployment with 10,000 BPS validation
│   ├── execute-a-payment         - Funding, signing, and settling a multi-recipient payment
│   ├── query-history             - Inspecting historical distributions on Stellar Expert
│   ├── custom-tokens             - Deploying pools with custom Stellar Asset Contracts (SAC)
│   ├── soroban-rpc               - Simulating transaction footprints and fee estimation
│   └── troubleshooting           - Resolving common contract error codes
├── docs/reference/
│   ├── contract                  - Full contract entrypoint signature and authorization table
│   ├── sdk                       - Typed client method and return signature specifications
│   ├── events                    - Event topic structure and data payload schema
│   └── errors                    - Error name, code, description, and recovery steps
├── docs/contributing/
│   ├── guidelines                - Pull request standards, code formatting, and review flow
│   ├── development               - Local setup, test harnesses, and typechecking
│   ├── code-of-conduct           - Community standards and expectations
│   └── security                  - Responsible vulnerability reporting policy
└── docs/faq/
    ├── general                   - What is SplitPay, who is it for, supported assets
    ├── pools-payments            - Modifying pools, maximum members, remainder stroops
    ├── security-audits           - Non-custodial guarantees and smart contract safety
    └── troubleshooting           - Freighter connection failures and transaction timeouts

🛠️ Platform Features

  1. Full Static Site Generation (SSG): Pre-renders 62 static routes at build time using the Next.js 16 App Router, ensuring instant page transitions and sub-100ms response times.
  2. Global Keyboard Search (Ctrl+K / ⌘K): Instant client-side search modal indexing contract methods, error codes, conceptual topics, and guides with direct keyboard navigation.
  3. Interactive 10,000 BPS Remainder Calculator: Embedded simulator demonstrating on-chain integer division and showing real-time allocation of remainder stroops to the primary member (index 0).
  4. Responsive Dual-Column Shell: Sticky desktop sidebar navigation, responsive tablet adaptation (md:block), and dedicated mobile drawer with breadcrumbs.
  5. Interactive Table of Contents: Scrollspy observer tracking headings (h2, h3) with active visual indicators.
  6. Syntax-Themed Code Blocks: One-click clipboard copying, language tags, and terminal headers.
  7. Production Aesthetic: Dark mode interface built with custom HSL tokens matching SplitPay brand guidelines (#0B1A33 background, #0F2340 card surfaces, #14B8A6 teal accents).

💻 Tech Stack

  • Framework: Next.js 16.3.5 (App Router, Turbopack & Webpack compilation)
  • UI Runtime: React 19.2.8
  • Styling: Tailwind CSS with custom CSS custom properties
  • Icons: Lucide React + Custom SVG Vector Components
  • Language: TypeScript 5 with strict type safety
  • Deployment: Static cloud hosting (Vercel / Cloudflare Pages / Netlify)

🚀 Local Development

Prerequisites

Installation

# Clone the repository
git clone https://github.com/Splitpayx/splitpay-docs.git
cd splitpay-docs

# Install dependencies
npm install

Running Locally

# Start the Next.js development server
npm run dev

Open http://localhost:3000 in your browser.

Building for Production

# Compile and pre-render all 62 static routes
npm run build

# Start the production server
npm run start

🔒 Source of Truth & Technical Integrity

The documentation platform maintains strict fidelity with the underlying repositories:

  • No Hallucinated Methods: All contract functions and signatures match contracts/splitpay/src/contract.rs.
  • Exact Error Codes: Every error code in the API Reference corresponds to contracts/splitpay/src/errors.rs.
  • No Legacy Backend References: Deprecated prototype backends (Node.js/Paystack) are explicitly excluded; SplitPay is purely non-custodial and operates directly with Stellar Horizon and Soroban RPC.

🤝 Contributing

We welcome contributions from protocol developers and ecosystem contributors. Please review our Contributing Guidelines and submit pull requests targeting the main branch.


📄 License

This documentation platform and all related specifications are licensed under the MIT License.

Releases

Packages

Used by

Contributors

Languages