Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.
/ citadel-runtime Public archive

Citadel: Bitcoin, LN & RGB wallet runtime supporting Taproot, miniscript, descriptors, multisigs, PSBTs

License

Notifications You must be signed in to change notification settings

mycitadel/citadel-runtime

Repository files navigation

Citadel: Bitcoin, LN & RGB wallet

Library providing runtime for Bitcoin, LN & RGB wallet

Supports:

  • Arbitrary-complex descriptor-based wallets
  • Miniscript-based wallet spending policies
  • Complex multisignature schemes
  • Lightning network (in generalized format, with planned support for multi-peer channels, DEX etc)
  • RGB assets
  • Universal invoices, supporting on-chain descriptor- and PSBT-based invoices, Lightning network, RGB assets, repeated payments, multiple beneficiaries etc...
  • Taproot & Schnorr signatures (WIP)
  • Partially signed bitcoin transactions
  • Arbitrary complex derivation paths, including new identity-based derivations for multisigs and taproot (see https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018381.html)
  • Complete separation of private keys to external HSMs or multiple signature servers etc (via PSBTs)

Citadel librsry demonstrates how modern censorship-resistant self-sovereign privacy-focusing P2P software can be developed basing on LNP/BP Association standards, frameworks and libraries for LNP/BP & Internet2 protocols.

The runtime can run (in embedded mode) or connect to external RGB Node and LNP Node, plus it require external Electrum Server accessed via ElectrumX protocol (in future will be replaced by BP Node).

Citadel library is based on:

Design & architecture

High-level architecture: Wallet architecture

More details on modules: Wallet components

Microservice architecture Microservices

About

Citadel: Bitcoin, LN & RGB wallet runtime supporting Taproot, miniscript, descriptors, multisigs, PSBTs

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages