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.
-
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
with automatic public key retrieval -
JWT
token authentication` (tested with Auth0). -
RBAC
. Fine grained authorization per route. - API keys authentication. (TODO)
- Data availability through pagination and advanced search.
- RGB Smart contracts. (WIP)
- Taproot Assets. (TODO)
Numeraire SwissKnife ships with a Dashboard (for admin and users).
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.
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:
- ENV vars. Defined given the names of the config values in
default.toml
, adding the prefixSWISSKNIFE
. Overriding all sensitive values with ENV vars is recommended. - any file under
config
corresponding to theRUN_MODE
(development
by default). Such asdevelopment.toml|yaml|json
or `production.toml|yaml|json`` - The
default.toml|yaml|json
file.
Inspect the .env.example
file for and generate your own .env
for sensitive config values.