Honest positioning
Glide OSS is a self-hostable orchestration shell, not a self-hostable bank stack. You bring your own:- Privy Multi-tenant tenant — auth + embedded wallets. OSS is Privy-only in v1; there is no swap-in alternative.
- Bridge / Noah / Avenia / IDRX / etc. contracts — fiat rails. The OSS Cathedral ships every connector adapter (
packages/connectors/<vendor>/), but the vendor relationship is yours. - Chainalysis / TRM / Elliptic — sanctions screening. The Chainalysis adapter ships under MIT; using it requires your own contract per the
DISCLAIMER.mdin the package. - Coinbase x402 facilitator (optional) — required for the x402 payer/recipient flow that lands with M2.5.
- Ory Hydra or BYO OAuth AS (optional) — required for the M2.5 agent banking surface.
packages/connectors/_base/ for the capability interface contracts. The OSS plan accepts community-contributed connectors per the M5 partner-PR flow.
Start a local instance
With Docker, Node and pnpm installed, follow the repository prerequisites:.env.local:
npx-flavored bring-up (M3 OSS scaffolder):
Environment posture
Demo posture (zero real-money corridor)
Production posture (real-money corridor)
pnpm glide doctor after wiring env to confirm every layer is reachable.
Operational keys
These keys support business and explicitly provisioned agent vaults. Personal accounts use verified Privy embedded wallets for deposits, sends, swaps and payouts; opening a personal account does not provision a treasury vault. Glide Cloud AND self-hosters hold three EVM operational keys + one Solana recovery key. Per the M0 plan §“Operational keys detail”:
For development:
bash scripts/generate-keys.sh emits random hex/base58 placeholders. Pipe to .env.local.
For production: generate keys in a KMS (AWS KMS / HashiCorp Vault / GCP KMS). Never commit them, never let them touch shell history. Rotate per a documented cadence — start at quarterly for treasury / annual for recovery (the recovery cadence is balanced against the user-veto window).
Deploy targets
The OSS Cathedral targets four reference deploy patterns. Each has its own pros/cons; pick the one that matches your operational comfort level.1. Fly.io (recommended for solo self-hosters)
- Web:
apps/webdeploys viafly launchwith the auto-detected Next.js builder. - Worker:
apps/webInngest functions run inside the same Fly app. - MCP (M2.5+):
apps/mcpdeploys as a separate Fly app. - Postgres: Fly Postgres or Supabase.
- Redis: Upstash Redis (ships free tier; paid for prod).
2. Railway
Single-region, push-to-deploy. Good for staging / non-US corridors.3. Render
Long-history Heroku-replacement; good if you already have Render.4. Bare Docker on a VPS
For operators who want infra control. The basedocker-compose.yml boots Postgres + Redis + Inngest; docker-compose.demo.yml overlay layers in the demo posture.
Migrations
PerCLAUDE.md §“Database migrations”:
Migration files are the source of truth, notFor self-hosted upgrades, run the existing script:drizzle-kit generate. All migrations underapps/web/drizzle/*.sqlare hand-authored.apps/web/drizzle/meta/_journal.jsonis NOT authoritative. It tracks only the original 0000/0001 scaffold; every migration from 0002 onward applies via the custom runner.
Backups
The OSS Cathedral does NOT ship a backup orchestrator. The base posture:- Postgres: rely on the deploy target’s managed backup (Fly Postgres snapshots, RDS automated backups, etc.) at a minimum daily cadence with point-in-time recovery.
- Redis: ephemeral. Inngest job state is durable in Postgres; Redis is rate-limit + cache only.
- Secrets: the secrets backend (Doppler / AWS-SM / Vault) is the source of truth. The DB stores
secretRefs, never plaintext.
- Off-site replica in a different region.
- Cold backup (encrypted S3 Glacier / equivalent) at quarterly cadence at minimum.
- Disaster-recovery rehearsal at annual cadence.
Observability
OSS ships:/health— liveness probe (200 OK with{"status":"ok"})./api/health— readiness probe (Postgres + Redis + push reachability).- Sentry hook in the fail-closed audit (M2). Set
SENTRY_DSNto wire@sentry/nextjs.
/metrics Prometheus endpoint + reference Grafana dashboards land in a follow-up milestone (per OSS plan §10).
Compliance disclaimers
- Sanctions screening:
SCREENING_PROVIDER=permissiveis REFUSED underNODE_ENV=productionunlessGLIDE_ALLOW_PERMISSIVE_SANCTIONS_IN_PROD=trueis explicitly set. Don’t override unless you have a documented compensating control. - Mock connectors in production:
GLIDE_USE_MOCK_CONNECTORS=trueis REFUSED underNODE_ENV=productionunlessGLIDE_ALLOW_MOCKS_IN_PROD=trueis explicitly set. Reserved for staging / smoke tests against production-shaped infra. - AML posture: every connector’s manifest declares an
amlPosturefield.pass-throughmeans the vendor handles AML;vendor-screenedmeans the vendor + an upstream screening capability handle it;unscreened(onlysanctions-permissive) means there is no AML coverage.
Where to file issues
- Bugs / docs holes: GitHub issues on
axtior-neobank. - Security vulnerabilities:
security@axtior.comperSECURITY.md. - Connector partner submissions: see
CONTRIBUTING.md(lands with M5).
What’s NOT in this doc
- Trust Console operator runbook (M4).
- Agent-platform / MCP setup (M2.5).
- Public standards URLs at
glide.co/schemas/agent-banking/v1/. glide partner submitCLI flow (M5.5).