ReferenceInfrastructure
External dependencies
Everything the platform needs that it does not run itself, what happens when it is gone, and the decision behind it (brief §76–77). The rule: no hosted RPC, no SaaS in the production path.
| Dependency | Used for | If unavailable | Owner / decision |
|---|---|---|---|
| The Stellar network (Mainnet / Testnet validators) | Settlement | Trading pauses (gate: ledger_stale); balances stay visible; pending intents are proven when it returns | Public network; we run no validator (STELLAR_ARCHITECTURE.md §11) |
| Our Stellar RPC nodes (stellar-rpc + captive core) | Every read and submission | Gate no_healthy_node; nothing is submitted | Ours; ≥ 2 in UAT/production (STELLAR_RPC_RUNBOOK.md) |
| Galexie data lake (self-hosted, local disk) | Indexer backfill beyond the RPC history window | Only matters after the indexer falls behind the window (INDEXER_GAP); refillable from the public history archives | Decided: our own (deploy/datalake/, ../decisions/OWNER_DECISIONS_20261031.md) |
| PostgreSQL | All business state | Everything stops (DatabaseDown); nothing is lost (../operations/BACKUP_RESTORE.md) | Ours |
| Vault / OpenBao Transit | Online keys | Gate signer_unavailable; nothing is signed, trading stops | Decided: self-hosted (../security/KEY_MANAGEMENT.md §2); run it highly available (Raft, 3 nodes) |
| The human signer's key (one, on a laptop) | Issuance, burn, refill, clawback, signer changes | Those operations wait; trading continues on the hot float. Losing the key is permanent | Decided: one signer (../decisions/OWNER_DECISIONS_20261031.md) |
| Bank (customer funds) | Deposits and withdrawals, recorded manually with four-eyes | Cash operations wait | Operator |
| Price source | Manual reference price with maker-checker | Stale price pauses trading for the asset | Operator (manual provider; a feed is a future provider) |
| Attestation provider | Backing figures | Expired attestation (35 days) blocks issuance and BUY | Operator |
| Container registry, Go and npm package registries | Builds only | Builds wait; running systems unaffected | Builds use a mirror where needed; integrity by go.sum and pnpm-lock.yaml |
| Friendbot | Local and Testnet funding only | Demos and Testnet setup wait | Refused on Mainnet by configuration |
Nothing in the production request path calls a third-party API: the web apps reach the API through their own same-origin proxy, Dara Scan reads only our database, fonts and assets are self-hosted.