Skip to content

API Reference

All backend API endpoints grouped by domain. 65 Lambda handlers serving 81+ endpoints + 2 schedulers + 1 worker.

Auth (3)

MethodEndpointDescription
POST/auth/nonceRequest a random nonce for SIWE message signing
POST/auth/verifyVerify signed SIWE message, return JWT (access + refresh tokens)
POST/auth/admin-loginAdmin login with credentials

Users (2)

MethodEndpointDescription
GET/usersList users (with filters)
GET/users/{id}Get user details by ID

Wallets (2)

MethodEndpointDescription
GET/walletsList wallets (with filters)
GET/wallets/{address}Get wallet details by address

KYC Logs (2)

MethodEndpointDescription
GET/kyc-logsList KYC verification logs
GET/kyc-logs/{id}Get KYC log details by ID

KYC / SumSub (4)

MethodEndpointDescription
POST/kyc/access-tokenGenerate SumSub SDK access token for KYC/KYB flow
GET/users/me/kyc-statusCheck KYC status for current authenticated user
POST/kyc/mint-sbtMint Soulbound Token after KYC approval
POST/kyc/webhookSumSub webhook — updates kyc_status on verification result

Pools (7)

MethodEndpointDescription
GET/poolsList all pools (with status, NAV, APY, capacity)
GET/pools/{id}Get pool details by ID
POST/poolsCreate new pool with config (APY, lock-up, reserve %, etc.) — triggers deploy worker
PATCH/pools/{id}Update pool details
DELETE/pools/{id}Delete pool (draft/archived only)
POST/pools/{id}/lp-transferTransfer LP tokens to investor after deposit match
POST/pools/{id}/receipt-burnBurn receipt token after LP issuance

Pool Categories (2)

MethodEndpointDescription
GET/pool-categoriesList pool categories
POST/pool-categoriesCreate pool category

Pool Data (7)

MethodEndpointDescription
GET/underlying-assetsList underlying assets
GET/underlying-assets/{id}Get underlying asset details by ID
GET/pools/{poolId}/tvl-historyGet TVL history for a pool
GET/pool-documentsList pool documents
GET/pool-documents/{id}Get pool document by ID
GET/pool-compositionsList pool compositions
GET/pool-compositions/{id}Get pool composition by ID

Deposits (5 + scheduler)

MethodEndpointDescription
GET/depositsList deposits (with filters)
GET/deposits/{id}Get deposit details by ID
POST/depositsCreate new deposit (lock USDC in escrow, mint receipt token)
POST/deposits/{id}/matchMatch deposit with LP token issuance
POST/deposits/{id}/refundRefund deposit (return USDC to investor)

Redemption Requests (7 + 3 multi-sig)

MethodEndpointDescription
GET/redemption-requestsList redemption requests (with filters)
GET/redemption-requests/{id}Get redemption request details by ID
POST/redemption-requestsSubmit redemption request (locks NAV snapshot)
POST/redemption-requests/{id}/fm-acceptFund Manager accepts redemption request
POST/redemption-requests/{id}/approveAdmin: approve redemption (reserve check → payout)
POST/redemption-requests/{id}/rejectAdmin: fail redemption request with reason (sets status to FAILED)
POST/redemption-requests/{id}/completeMark redemption as completed after payout
POST/redemption-requests/{id}/request-approvalMulti-sig: request co-signer approval for redemption
POST/redemption-requests/{id}/cosignMulti-sig: co-signer approves redemption transfer
POST/redemption-requests/{id}/execute-transferMulti-sig: execute USDC transfer after co-sign

Portfolio Positions (2)

MethodEndpointDescription
GET/portfolio-positionsList portfolio positions for current user
GET/portfolio-positions/{id}Get portfolio position details by ID

Yield Distributions (4)

MethodEndpointDescription
GET/yield-distributionsList yield distributions
GET/yield-distributions/{id}Get yield distribution details by ID
GET/yield-distributions/meGet yield distributions for current investor
POST/yield-distributionsCreate yield distribution for a pool (period, total_amount)

Yield Claims (3)

MethodEndpointDescription
GET/yield-claimsList yield claims
GET/yield-claims/{id}Get yield claim details by ID
POST/yield-claimsCreate yield claim (investor claims accrued yield)

Yield Reinvest (1)

MethodEndpointDescription
POST/yield/reinvestRe-deposit claimed yield into pool → new LP minted
MethodEndpointDescription
GET/nav-changesList NAV change proposals
GET/nav-changes/{id}Get NAV change details by ID
POST/nav-changesPropose NAV change (triggers timelock if decrease)
POST/nav-changes/{id}/activateActivate proposed NAV change after timelock
POST/nav-changes/{id}/cancelCancel pending NAV change proposal

Funds (5)

MethodEndpointDescription
GET/fundsList all funds
GET/funds/{id}Get fund details by ID
POST/fundsCreate new fund
PATCH/funds/{id}Update fund details
DELETE/funds/{id}Delete fund

Fund Members (5)

MethodEndpointDescription
GET/fund-membersList fund members
GET/fund-members/{id}Get fund member details by ID
POST/fund-membersAdd fund member
PATCH/fund-members/{id}Update fund member
DELETE/fund-members/{id}Remove fund member

Admin Users (6)

MethodEndpointDescription
GET/admin-usersList admin users
GET/admin-users/{id}Get admin user details by ID
POST/admin-usersCreate admin user
POST/admin-users/inviteInvite admin user via email
PATCH/admin-users/{id}Update admin user
DELETE/admin-users/{id}Delete admin user

Dashboard (1)

MethodEndpointDescription
GET/dashboard/statsGet dashboard statistics (TVL, deposits, redemptions, users)

Activity (1)

MethodEndpointDescription
GET/activity-eventsList activity events

Config (1)

MethodEndpointDescription
GET/config/stablecoinsList supported stablecoins and their contract addresses

Notifications (3)

MethodEndpointDescription
GET/notification-logsList notification logs
POST/notification-logs/{id}/resendResend a failed notification
POST/notification-logs/{id}/escalateEscalate a notification

Schedulers & Workers

TypeNameDescription
SCHEDdeposits.scheduler.auto-refundAuto-refund eligible deposits (every 1 hour)
SCHEDpools.scheduler.lifecyclePool lifecycle transitions: UPCOMING→ACTIVE, ACTIVE→MATURED (every 1 hour)
WORKERpools.worker.deployAsync pool deploy worker — deploys smart contracts on-chain (invoked by POST /pools)