Skip to content

GaloyMoney/lana-bank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lana: Digital Asset-Backed Lending for Financial Institutions

Lana is a Bitcoin-backed lending platform that enables financial institutions of all sizes to offer fiat loans secured by Bitcoin collateral. Designed for easy integration, Lana streamlines the complex operational workflows associated with loan origination, collateral management, and liquidation.

Key Features

  • Rapid Deployment – Reduce time to market from months to weeks with Lana's modular architecture
  • Loan Origination & Management – Automate loan creation, fee collection, and margin call management
  • Seamless Banking Integration – Works with existing core banking systems, custodians, and regulatory frameworks
  • Security-First Design – Adheres to industry security standards and best practices
  • Source Code Auditable – Under Fair Source License

For enterprise inquiries, contact [email protected]


Setup & Development

Dependencies

Nix package manager

direnv >= 2.30.0

Docker

Environment Variables

Set them in your .env file

Optional

  • DATA_PIPELINE=true: Enable data pipeline features (Meltano, Airflow)

  • DAGSTER=true: Enables the local dagster deployment.

  • TF_VAR_sa_creds: Service account credentials into GCP (BigQuery & Documents access)

  • SUMSUB_KEY: SumSub API key for identity verification

  • SUMSUB_SECRET: SumSub API secret for identity verification

  • HONEYCOMB_KEY: Honeycomb Ingest API key for tracing

  • TF_VAR_honeycomb_api_key: Honeycomb Configuration API key for dashboards

Start & Stop the stack

make dev-up   # Start the development stack
make dev-down # Stop the development stack

MailCrab - Email Testing

Access the Frontends

After bringing the development stack up, you can access the following services:

Service URL Notes
Admin Panel http://admin.localhost:4455 Admin panel for managing the platform
Customer Portal http://app.localhost:4455 App for customers to see their data

Steps to access Admin Panel

  1. Open Admin Panel in your browser
  2. Use email [email protected] to log in
  3. You're in!

Steps to access Customer Portal

  1. Create customer from Admin Panel
  2. Open Customer Portal in a separate browser (or incognito mode)
  3. Use the customer email to try and login
  4. Get the login code by running make get-customer-login-code [email protected]
  5. You're in!

If you see a cookie error, delete the cookie and reload the page (but this should not happen if you're using separate browsers)

You might need to add these entries in your /etc/hosts file for authentication to work correctly on the customer portal:

127.0.0.1 app.localhost
::1 app.localhost

Steps to access Dagster web UI

  • Simply visit http://localhost:3000.

Running Tests

Unit Tests

make reset-deps next-watch

End-to-End Tests

make e2e

Cypress Tests

make dev-up # launch the full stack

# In a different terminal with tilt running:
cd apps/admin-panel && pnpm run cypress:run-ui # or run-headless

BigQuery Setup

We use BigQuery for analytics and reporting. To set up the BigQuery tables, you need to have the TF_VAR_sa_creds environment variable set to the service account credentials.

Authenticate with Google Cloud SDK

gcloud auth application-default login

Verify access

gcloud auth application-default print-access-token

Adding new BigQuery tables

Commands to re-run when adding new BQ tables

git checkout pre-merged-commit
# this is important to have the previous state before pulling
make reset-deps
git pull
make init-bq

If you are doing work that requires adding a new big query table you need to add it to ./tf/bq-setup/bq.tf

Honeycomb Dashboards

We use Honeycomb for observability and tracing. To set up dashboards locally:

Prerequisites

Set your Honeycomb API key TF_VAR_honeycomb_api_key in your .env. Note: this needs to be a Configuration API Keys, not an Ingest API Keys

Create Dashboards

make honeycomb-init   # Initialize OpenTofu
make honeycomb-plan   # Preview changes
make honeycomb-apply  # Create dashboards