TradeFlow-API is the backend service layer for the TradeFlow protocol. It bridges the on-chain Soroban contracts with off-chain Real-World Asset (RWA) data.
The service performs three critical functions:
- Event Indexing: Listens to
TradeFlow-Corecontract events (Minting, Repayment) and indexes them into PostgreSQL. - Risk Engine: Processes PDF invoices and assigns risk scores (0-100) signed by our oracle key.
- Auth: Manages user sessions via wallet signatures (SIWE - Sign In With Ethereum/Stellar style).
We use Docker for a consistent development environment.
services:
api:
build: .
ports: ["3000:3000"]
db:
image: postgres:15
environment:
POSTGRES_DB: tradeflowThe API is configured with strict Cross-Origin Resource Sharing (CORS) policies to ensure secure communication:
- Allowed Origins:
http://localhost:3000(Local Development)https://tradeflow-web.vercel.app(Production)
- Allowed Methods:
GET,POST,PUT,PATCH
To verify the CORS configuration, ensure dependencies are installed and the server is running, then execute the test script:
# 1. Install dependencies
npm install
# 2. Start the server
npm run start
# 3. Run the CORS verification script (in a new terminal)
node test-cors.jsGet Total Value Locked (TVL) metrics for the TradeFlow protocol.
Returns the current TVL in USD with optional formatting.
Response Format:
{
"tvlUSD": 14500000.50,
"lastUpdated": "2026-03-19T00:00:00Z"
}Query Parameters:
format(optional): Set toshortto return formatted TVL (e.g., "14.5M")
Examples:
# Get full TVL data
curl http://localhost:3000/api/v1/stats/tvl
# Get formatted TVL for display
curl http://localhost:3000/api/v1/stats/tvl?format=shortShort Format Response:
{
"tvlUSD": "14.5M",
"lastUpdated": "2026-03-19T00:00:00Z"
}