# Firmament > Solana RFQ maker backend for managed liquidity demos. ## Docs - [List supported assets](https://firmament.shaikazeem.com/docs/api-reference/assets/list-supported-assets.md): Returns the enabled asset metadata used by quote requests and the swap app. Default local config uses a placeholder cbBTC mint until live mode is configured. Each entry includes case-insensitive aliases, the asset class (`native` or `spl`), the directional outputs that can be quoted from this asset,… - [Check runtime liveness](https://firmament.shaikazeem.com/docs/api-reference/health/check-runtime-liveness.md): Returns a small liveness response when the backend API is running. - [List directional pairs and constraints](https://firmament.shaikazeem.com/docs/api-reference/pairs/list-directional-pairs-and-constraints.md): Returns the configured directional pairs along with per-pair decimals, quote notional caps, and the default expiry applied when an RFQ omits `expiry_seconds`. Use this together with `/v1/assets` to discover what a friendly RFQ can request. - [Request a firm quote](https://firmament.shaikazeem.com/docs/api-reference/rfq/request-a-firm-quote.md): Requests firm swap terms from the runtime. - [Get recent runtime trades](https://firmament.shaikazeem.com/docs/api-reference/runtime/get-recent-runtime-trades.md): Returns global recent trade summaries, newest first. Limit defaults to 10 and is capped at 100. Terminal trades and active settlement recovery rows are backed by SQLite. - [Get runtime events](https://firmament.shaikazeem.com/docs/api-reference/runtime/get-runtime-events.md): Returns recent runtime events in chronological order, optionally limited to the newest events. - [Get runtime ledger balances](https://firmament.shaikazeem.com/docs/api-reference/runtime/get-runtime-ledger-balances.md): Returns derived non-zero ledger balances. The optional account_type query filters the returned balances, while healthy and entry_count still describe the whole ledger. - [Get runtime state](https://firmament.shaikazeem.com/docs/api-reference/runtime/get-runtime-state.md): Returns the current non-secret runtime projection used by the swap app and runtime proof surface. - [Abandon unused settlement](https://firmament.shaikazeem.com/docs/api-reference/settlement/abandon-unused-settlement.md): Marks an active wallet settlement failed before any on-chain lock signature exists. Once funds are locked, callers should resume the trade or use the refund-after-expiry path instead. The request must include the browser-held `secret_hash` for the settlement; this is a lightweight pre-lock guard, no… - [Prepare or record taker redeem](https://firmament.shaikazeem.com/docs/api-reference/settlement/prepare-or-record-taker-redeem.md): Prepares the unsigned taker redeem transaction when a signature is omitted. Records the final redeem step when a signature is supplied. - [Prepare or record taker refund](https://firmament.shaikazeem.com/docs/api-reference/settlement/prepare-or-record-taker-refund.md): Prepares the unsigned taker refund transaction when the request body is empty or omits a signature. Malformed JSON returns `400 invalid_json`. Records the connected wallet's refund signature when a signature is supplied. This path is for expired locked settlements. - [Record taker lock signature](https://firmament.shaikazeem.com/docs/api-reference/settlement/record-taker-lock-signature.md): Records the transaction signature produced by the connected wallet after the taker lock transaction is submitted. - [Resume wallet settlement](https://firmament.shaikazeem.com/docs/api-reference/settlement/resume-wallet-settlement.md): Returns the latest persisted settlement phase for an active wallet settlement after a browser refresh or backend restart. When the next step needs a browser signature, the response includes a fresh unsigned wallet transaction and a `next_action`. - [Start wallet settlement](https://firmament.shaikazeem.com/docs/api-reference/settlement/start-wallet-settlement.md): Creates a durable trade for an accepted quote and returns an unsigned taker lock transaction for browser-wallet signing. The request carries only the browser-generated hash commitment; the preimage stays in the browser until redeem time and is not persisted by the server. - [Get trade status](https://firmament.shaikazeem.com/docs/api-reference/trades/get-trade-status.md): Returns settlement status, observed transaction signatures, known amounts, and ledger summary for a trade. - [Architecture](https://firmament.shaikazeem.com/docs/architecture.md): How the Firmament backend, web app, and runtime projection fit together. - [Firmament](https://firmament.shaikazeem.com/docs/index.md): A Solana RFQ maker backend for managed liquidity demos. - [Maker setup](https://firmament.shaikazeem.com/docs/maker-setup.md): Configure a live Firmament maker safely. - [Live Safety](https://firmament.shaikazeem.com/docs/operations/live-safety.md): Live Solana configuration and safety gates. - [Quickstart](https://firmament.shaikazeem.com/docs/quickstart.md): Run the local API, web app, and runtime reads. - [Runtime Proof](https://firmament.shaikazeem.com/docs/runtime-proof.md): Public runtime reads exposed by the backend. - [Swap Flow](https://firmament.shaikazeem.com/docs/swap-flow.md): How an RFQ moves through wallet settlement. ## OpenAPI Specs - [openapi](https://firmament.shaikazeem.com/docs/openapi.yaml)