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.
- 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 biz@galoy.io
- Recommended install method using https://github.com/DeterminateSystems/nix-installer
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
- Recommended install method from https://direnv.net/docs/installation.html:
curl -sfL https://direnv.net/install.sh | bash echo "eval \"\$(direnv hook bash)\"" >> ~/.bashrc source ~/.bashrc
- Choose the install method for your system https://docs.docker.com/desktop/
Set them in your .env
file
-
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 -
BROWSERSTACK_USERNAME
: BrowserStack username for e2e testing via Cypress -
BROWSERSTACK_ACCESS_KEY
: BrowserStack access key for e2e testing via Cypress -
HONEYCOMB_KEY
: Honeycomb API key for tracing -
HONEYCOMB_DATASET
: Honeycomb dataset for tracing
make dev-up # Start the development stack
make dev-down # Stop the development stack
- SMTP Server: Available at
localhost:1025
- Web Interface: Available at http://localhost:1080
After bringing the development stack up, you can access the following services:
Service | URL | Notes |
---|---|---|
Admin Panel | http://localhost:4455/admin | Admin panel for managing the platform |
Customer Portal | http://localhost:4455/app | App for customers to see their data |
- Open Admin Panel in your browser
- Use email
admin@galoy.io
to log in - Get the login code by running
make get-superadmin-login-code
ormake get-admin-login-code EMAIL=admin@galoy.io
- You're in!
- Create customer from Admin Panel
- Open Customer Portal in a separate browser (or incognito mode)
- Use the customer email to try and login
- Get the login code by running
make get-customer-login-code EMAIL=your-customer-email@example.com
- 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)
make reset-deps next-watch
make e2e
make dev-up # launch the full stack
# In a different terminal with tilt running:
cd apps/admin-panel && pnpm run cypress:run ui # or headless
# or if you want to run the tests via browserstack - needs BROWSERSTACK_USERNAME and BROWSERSTACK_ACCESS_KEY in env
cd apps/admin-panel && pnpm run cypress:run browserstack
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
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