API and monitoring services for Swipely, a cross-chain bridge and DEX liquidity monitoring platform for the Stellar network. This service ingests on-chain and off-chain data, computes bridge-health and liquidity metrics, exposes a REST + WebSocket API, and dispatches alerts.
- Node.js + TypeScript
- Fastify 5 (REST, WebSockets, Swagger/OpenAPI)
- PostgreSQL via Knex (migrations + seeds)
- Redis + BullMQ for queues and background jobs
- @stellar/stellar-sdk and ethers for chain access
- Prometheus (
prom-client) metrics, pino logging - Alerting via Discord, Telegram, and email (nodemailer)
- Zod for validation, Vitest for tests
npm install
cp .env.example .env # then fill in the values
npm run migrate # apply database migrations
npm run dev # start the API in watch mode| Script | Description |
|---|---|
npm run dev |
Start the API with hot reload |
npm run build |
Compile TypeScript to dist/ |
npm start |
Run the compiled server |
npm run migrate |
Apply migrations |
npm run seed |
Seed the database |
npm run test |
Run the test suite |
npm run docs:generate |
Generate the OpenAPI spec |
Prometheus scrape config, alert rules, and a Grafana dashboard live alongside the
service (prometheus.yml, prometheus-alerts.yml, grafana/). See
METRICS_QUICKSTART.md for a fast local setup.
swipely_frontend— dashboard UIswipely_contract— Soroban smart contracts
MIT — see LICENSE.