Skip to content

Bitcoin wallet with account management, Lightning integration through different providers and smart contracts for asset issuance

License

Notifications You must be signed in to change notification settings

bitcoin-numeraire/swissknife

Repository files navigation

Numeraire Bitcoin SwissKnife

Numeraire's Bitcoin SwissKnife is a wallet and transaction orchestrator enabling easy integration of Bitcoin, the Lightning network and smart contract protocols (RGB, Taproot Assets) to any entity or organization that wishes to do so without handling the complexity of the above technologies.

Features

  • Lightning Network. Send and receive payments on Clearnet and Tor.
  • LNURL. Support for the LNURL protocol.
  • Lightning Address. Deploy your own Lightning Address infrastructure. Like an email address, anyone can use Lightning addresses (username@your.domain) to send and receive Lightning payments.
  • Nostr. Zap support through Lightning Address. (TODO).
  • Generate invoices.
  • Account segregation. Support any amount of users.
  • Internal ledger for instant payments on the same SwissKnife instance.
  • Public and Admin REST API.
  • Frequent contacts. (TODO)
  • Notifications via webhooks. (TODO)
  • `JWKS server with automatic public key retrieval
  • JWT token authentication` (tested with Auth0).
  • RBAC. Fine grained authorization per route.
  • API keys authentication. (TODO)
  • Horizontal scaling.
  • Data availability through pagination and advanced search.
  • RGB Smart contracts. (WIP)
  • Taproot Assets. (TODO)

Numeraire SwissKnife ships with a Dashboard (for admin and users).

Lightning Integration

Numeraire SwissKnife allows direct Lightning Network integration, supporting the most used node implementations and well-known providers:

  • Core Lightning:
    • Non-custodial
    • Run your own node
    • Manage your own liquidity.
  • LND (TODO):
    • Non-custodial
    • Run your own node
    • Manage your own liquidity.
  • Greenlight:
    • Non-custodial
    • Automatic node management.
    • Manage your own liquidity.
  • Breez:
    • Non-custodial
    • Automatic node management.
    • Automatic liquidity management via LSPs (user can switch LSPs)
  • Phoenixd. (TODO):
    • Non-custodial
    • Automatic node management.
    • Automatic liquidity management via ACINQ.
  • LightSpark. (TODO):
    • Custodial
    • Automatic node management.
    • Automatic liquidity management via ACINQ.

Deployment

Numeraire SwissKnife can be built from source (see Contributing), Docker images and Helm charts will come when the first alpha version is out.

Default configuration is defined in config/default.toml. SwissKnife supports .toml, yaml and json config files. The order of applied configuration is the following:

  1. ENV vars. Defined given the names of the config values in default.toml, adding the prefix SWISSKNIFE. Overriding all sensitive values with ENV vars is recommended.
  2. any file under config corresponding to the RUN_MODE (development by default). Such as development.toml|yaml|json or `production.toml|yaml|json``
  3. The default.toml|yaml|json file.

Inspect the .env.example file for and generate your own .env for sensitive config values.

About

Bitcoin wallet with account management, Lightning integration through different providers and smart contracts for asset issuance

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published