Skip to content

Latest commit

 

History

2,409 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PayRaider

Real-time payment analytics for Stellar.

A lean, production-grade stack for measuring and improving cross-border payment reliability.

  • Backend: Rust analytics engine (Axum, SQLx)
  • Frontend: Next.js dashboard
  • Mobile: React Native (Expo) — current status
  • Contracts: 1 integrated Soroban contract (payraider), deployed to testnet
  • SDKs: TypeScript + Python clients
  • DB: SQLite (WAL mode) — see Database below

🔧 Quick start

No database server to install — SQLite runs in-process and the file is created on first start.

  1. Run backend
cd backend
cp .env.example .env
# DATABASE_URL already defaults to sqlite:./payraider.db
# set STELLAR_RPC_URL etc. as needed
cargo run
  1. Run frontend
cd frontend
npm install
npm run dev

Database

SQLite only. This is a compile-time property, not a configuration one: sqlx is built with only the sqlite feature, backend/src/database.rs uses SqlitePool/SqliteConnectOptions directly, and every migration is written in SQLite-flavoured SQL.

Setting a postgresql:// DATABASE_URL does not switch databases — it fails to parse as SqliteConnectOptions and the backend refuses to start. Adding Postgres support is a code change. Whether to make it is being tracked in issue #1876.

Deployed contracts

The backend integrates with payraider via SNAPSHOT_CONTRACT_ID. contracts/.env.testnet is generated by deploy-contracts-testnet.sh — prefer reading it over copying IDs from here.

Contract Env var Testnet ID (historical)
PayRaider PAYRAIDER_CONTRACT_ID / SNAPSHOT_CONTRACT_ID CAPHQZ4BBT43HU5EUSJAOPKWB66HGLTN4AKJUALV3R2RXS4A6IOXWUTL

Other contract crates under contracts/ are archived and not built in CI. See contracts/archive/README.md.

🧪 Local safety checks (already built)

📁 Structure

Path Contents
backend/ Rust analytics engine — REST, GraphQL and WebSocket API
frontend/ Next.js dashboard
mobile/ React Native (Expo) app — current status
contracts/ Soroban contracts (Rust, no_std)
sdk/ TypeScript and Python API clients
docs/ Project documentation
scripts/ Build, deploy and maintenance scripts
tests/ Cross-cutting / end-to-end tests
k8s/, terraform/ Deployment manifests and infrastructure as code
elk/, monitoring/ Logging and observability stack configs

📌 Notes

  • History has been cleaned to reduce clone size.
  • Use git lfs for large binaries.
  • For full operational details, see docs/ and module READMEs.

SDK status

sdk/ ships four packages: typescript, python, react, and mcp-server. Neither the mobile app nor the web frontend currently consumes any of them. The mobile app makes API calls via its own internal axios-based apiClient (mobile/src/services/api.ts); the frontend has its own src/lib/api-client.ts. The TypeScript SDK is published publicly ("publishConfig": {"access": "public"}) but its correctness against the real backend API is therefore untested by any internal usage.

Known gaps:

  • @payraider/sdk (typescript): public, but not imported by mobile or frontend.
  • @payraider/react: wraps the TypeScript SDK, also not consumed internally.
  • @payraider/mcp-server: a separate product surface (AI-agent tooling); candidate for extraction into its own repository. See sdk/mcp-server/README.md.

The storage library situation in mobile is intentionally kept simple: react-native-mmkv (encrypted, MMKV-based) for general key-value storage, react-native-keychain for the MMKV encryption key and auth tokens, and react-native-biometrics for biometric prompts. All three are actively used.

About

No description, website, or topics provided.

Resources

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages