Maker setup
This page is for operators who want to run their own Firmament maker. It covers the live setup path. Start with tiny caps, prove the runtime, then adjust policy.Prerequisites
- Rust 1.85 or newer.
- Node.js and npm.
- A Solana mainnet RPC URL.
- One maker Solana wallet. This wallet owns working inventory and pays gas.
- A browser Solana wallet for taker testing.
- A Jupiter API key if
jupiter.enabled = true. - A Circle Gateway Solana depositor address if
gateway.enabled = true. - USDC and enough SOL for gas in the maker wallet.
1. Create local files
.env, config.toml, runtime.sqlite, or demo evidence with
secrets.
2. Fill .env
Set the RPC URL:
TAKER_PRIVATE_KEY,
TAKER_KEYPAIR_PATH, and TAKER_KEYPAIR_JSON are only for legacy local-signing
tests.
3. Set asset policy
Openconfig.toml.
Keep these caps small for first runs:
[[assets.supported]] row:
4. Choose pairs
Every enabled asset can quote against every other enabled asset by default:- USDC to SOL and SOL to USDC
- USDC to cbBTC and cbBTC to USDC
- SOL to cbBTC and cbBTC to SOL
cbBTC -> SOL.
5. Configure Jupiter
Use Swap API V2:/order plus /execute for live swaps. /build support is kept
for adapter parsing and raw-instruction coverage.
6. Configure Circle Gateway
Gateway refill is USDC-only:max_refill_fee_raw lower
than the amount you are willing to lose to a provider fee.
7. Fund the maker
Fund only what the demo needs:- SOL for gas and native inventory.
- USDC for the default SOL/USDC path and Gateway deposits.
- cbBTC only if you want inventory-backed cbBTC quotes.
8. Prove read-only startup
Keep workers disabled first:9. Enable live maker mode
Set:VERIFY_*
placeholder mint.
10. Start the web app
11. Run smoke tests
Safe default:scripts/smoke.sh before running any mutating group.
12. Capture evidence
Usedocs/demo-evidence-checklist.md for demo runs. Capture:
- config and cap snapshots
- backend logs
/health,/v1/assets,/v1/runtime/state,/v1/runtime/events,/v1/runtime/ledger, and/v1/runtime/trades- trade lookup JSON for accepted trades
- screenshots of
/appand/app/runtime - Solscan links for signatures
- SQLite ledger checks