Git Product home page Git Product logo

galoy's Introduction

Galoy

TLDR

Galoy is an opinionated bitcoin banking platform.

Responsible disclosure

Found critical bugs/vulnerabilities? Please email them [email protected] Thanks!

Get Started

Want to try it out and contribute? Checkout the dev documentation to deploy locally with a docker compose script.

If you have questions, you can join our community Slack

For an overview of all relevant repository checkout awesome-galoy.

Galoy-Backend features

  • GraphqlAPI:
  • Authentication:
    • Code is sent via twillio to end users phone number which can be exchanged for jwt auth token
    • OAuth integration (in progress)
    • Account scoped API keys (in progress)
  • Internal ledger:
    • Records all account activity via double entry accounting
    • Support for integrating fiat currencies (in progress)
    • CSV based export of all accounting data
  • Contact list for frequent transaction partners
  • Price
    • Sub-second price data polled from largest exchanges to record USD value at settlement
    • Historical price data can be queried for display for different time frames
  • Send / Receive BTC payments
    • External settlement via OnChain or lightning
    • Automatic internal settlement when payer & payee are on the same galoy instance
    • Fees can be applied for sending / receiving for all settlement methods
    • Support for tipping via dedicated web-frontend
    • Include memo to payment
  • Lightning Network
    • Support for clearnet and TOR
    • Support for invoices with and without specified amount
    • Route probing to pre-display an accurate fee and mitigate attacks based on expensive routing
    • Channel data backup to dropbox and google cloud storage
  • Custodial storage of all user assets
    • Limited funds stored in hot-wallet (keys kept on servers)
    • Threshold based rebalancing to cold-storage (keys stored on offline hardware devices)
  • Security:
    • Velocity check based on user verification level
    • Spam protection for sharing memos
    • Configurable 2fa for payments (in progress)
    • DDos prevention
      • via rate limiting infront of critical APIs
      • via geetest CAPTCHA
  • Resilience
    • Databases (mongodb and redis) are run by default in high availability/resilience mode. If one pod/node goes down, there is an automatic failover on another pod/node.
  • Production ready
    • Supports horizontal scaling and highly available deployments via k8s
    • Client side load balancing across multiple LND nodes
    • Out-of-the-box dashboards for KPIs deployed to grafana showing metrics exported via prometheus
    • Quick response times thanks to pagination of large data sets
    • Returning error codes for full translation capability of the frontend
    • Instrumentation enabled for real-time insights into production runtime (opentelemetry / honeycomb)
  • User on-boarding (optional)
    • Gamification via user quiz that pays out sats
    • Map of in-network merchants
  • Notifications
    • Mobile clients can receive notifications of balance changes in real-time
    • Daily notification of balance for active end users

Tech Stack

  • GCP, Kubernetes, Terraform, Helm, Concourse, Docker
  • Opentelemetry, Prometheus
  • Bitcoind, LND, Specter, RideTheLightning, Loop, Lndmon, Pool
  • PostgreSQL, MongoDB, Redis
  • NodeJS
  • Typescript
  • GraphQL
  • React + React Native

galoy's People

Contributors

nicolasburtey avatar krtk6160 avatar vindard avatar dolcalmi avatar bodymindarts avatar samerbuna avatar jotapea avatar dependabot[bot] avatar unclesamtoshi avatar twshelton avatar jrbuhl93 avatar daviroo avatar sandipndev avatar mfferreira avatar sebastienverreault avatar leesalminen avatar ronanjackson avatar fiatjaf avatar keblek avatar moksha256 avatar nolim1t avatar trigger67 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.