📈 GH Trending Explorer 🎲 Surprise me

← all repos

VelaPayments / vela-server

git clone https://github.com/VelaPayments/vela-server.git

NestJS backend for Vela’s Stellar payment prototype, with payment-request validation, WebAuthn authorization, and transaction services.

—
stars, 24h
—
stars, 7 days
+130
stars, 30 days · #1,807
130
★ total
127
forks · 5 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageTypeScript
LicenseMIT
Created2026-10-05 (15d ago)
Last push2d ago
Watchers0
OwnerOrganization

Links

README excerpt
# Vela — Server
Backend for **Vela**, an open-source contactless-payment prototype built around Stellar testnet.
The backend contains payment-request validation and persistence, passkey-based payment authorization, and a Stellar integration service for transaction building, submission and confirmation polling. Connecting these services into a complete client-to-network payment flow remains active development work.
> **Mobile client:** The Expo app lives in a separate repository — VelaPayments/vela-payments.
## How Vela uses Stellar
Stellar is the intended settlement network for Vela payments. The product goal is a short path from sharing a payment request to approving and confirming an XLM or issued-asset transfer. NFC carries the request between devices; funds move through a signed Stellar transaction and network confirmation.
This repository implements the server-side building blocks with `@stellar/stellar-sdk`:
| Capability | Implementation | Role in Vela |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Network access | StellarModule | Configures Horizon and Stellar RPC clients, the network passphrase and the USDC issuer |
| Accounts and assets | StellarService — `getAccount`, `resolveAsset` | Loads source accounts; resolves native XLM or USDC by its configured issuer |
| Payment construction | `StellarService.buildPaymentTransaction` | Builds an unsigned `Operation.payment` transaction with fee, network passphrase, optional memo and a bounded timeout |
| Submission and confirmation | `StellarService.submitTransaction`, `pollTransactionStatus` | Accepts signed XDR, submits through Horizon and polls for an ingested outcome with bounded retries |
| RPC support | `StellarService.getHealth`, `simulateTransaction` | Checks provider health and exposes transaction simulation at the service level |
| Payment requests | Contract validator and request service | Validates supported assets, amount strings, recipient format and timestamps before persistence |
The transaction helpers have mocked regression coverage in stellar.service.spec.ts. They are not yet exposed as a complete public settlement API, and a completed real-device transfer has not been demonstrated. WebAuthn authorizes an application payment action; Stellar transaction signatures and network confirmation remain separate parts of the intended flow.
### Work that advances the Stellar integration
- Align the client/server payment payload so NFC requests can pass server validation consistently.
- Strengthen memo byte limits and confirmation polling coverage.
- Protect authorization failure ordering before connecting authorization to submission.
The current prototype targets Stellar testnet. XLM is represented as the native asset; issued assets are ident