Introduction

Architecture

The components behind the interface, and what each is responsible for.

Components

Browser (RwaMarkets UI)
  ├─ Wallet (Phantom, Solflare, … via Wallet Standard)   signs transactions
  └─ RwaMarkets server routes
       ├─ /api/swap/order     → execution provider   quote + unsigned transaction
       ├─ /api/swap/execute   → execution provider   submission + confirmation
       ├─ /api/prices         → price data providers
       ├─ /api/balances       → Solana RPC (Helius)
       └─ /api/tokens         → token search (payment side only)

Asset registry (versioned in the RwaMarkets codebase)
  └─ built from issuer sources, checked onchain, filtered by liquidity

Server-side credentials

API credentials for third-party providers are used only by server routes and are never sent to the browser. The server validates every request: swap requests must involve an enabled asset from the registry, and amounts and addresses are checked before any upstream call.

Asset registry

The registry is the single source of truth for which tokens are presented as verified RWAs. It is built by a synchronization process that reads issuer sources and verifies each mint onchain. External APIs never add an asset to the registry automatically. See Asset Registry.

Settlement

All trades settle on Solana. RwaMarkets does not deploy or operate smart contracts; trades use the programs selected by the execution provider's routing. See Smart Contract Exposure.