Layers
The bitcoin layers Cassis routes across, and how each one expresses an HTLC.
Overview
A Cassis payment is a route with any number of hops, each of which is a HTLCs,
all bound to the same hash H and honoring strictly decreasing timeouts.
Each network expresses that HTLC in its own idiom, the preimage R (with
H = sha256(R)) is the only key that settles a hop, and a timeout always
opens a refund path.
● Lightning
- Protocol
- BOLT
- NetworkId
lightning- HTLC
- native BOLT
update_add_htlcwithpayment_hashandcltv_expiry - DISPATCH descriptor
- BOLT11 hold invoice (
payment_request), sent as the outgoing target the payer pays verbatim to preserve the payment secret - Default delta timeout
- 30 s
● Liquid
- Protocol
- Liquid
- NetworkId
liquid(mainnet),liquid::testnet- HTLC
- P2WSH script,
OP_HASH160 <RIPEMD160(payment_hash)>claim path with CLTV refund - DISPATCH descriptor
- lockup outpoint (
lockup_txid+lockup_vout) pinning the broadcast lockup tx, plusrefund_pubkeyandrefund_locktime; the claim side is rebuilt from the route hash - Default delta timeout
- 300 s
● Arkade
- Protocol
- Arkade
- NetworkId
arkade(mainnet),arkade::testnet- HTLC
VhtlcScripttaproot tree,RIPEMD160(payment_hash), seconds-based timelocks- DISPATCH descriptor
- VHTLC options —
sender,receiver,serverx-only keys,payment_hash160,refund_locktime, and three unilateral CSV delays (unilateral_claim_delay,unilateral_refund_delay,unilateral_refund_without_receiver_delay) - Default delta timeout
- 60 s
● Cashu
- Protocol
- Cashu
- NetworkId
cashu::<host[:port]>(each mint is a separate network)- HTLC
- NUT-14 spending conditions on a NUT-10 HTLC secret
- DISPATCH descriptor
- NUT-14 locked ecash proofs, one base64-encoded NUT-00
Proofper element - Default delta timeout
- 30 s
● Fedimint
- Protocol
- Fedimint
- NetworkId
fedimint::<invite_code>(each fedimint is a separate network)- HTLC
- LNv2 Lightning module
- DISPATCH descriptor
- Bolt11 invoice the counterparty must pay (fedimint sells its own preimage, so the descriptor is the invoice, not a proof set)
- Default delta timeout
- 30 s
● Rootstock
- Protocol
- Rootstock
- NetworkId
rootstock(mainnet),rootstock::testnet- HTLC
- EtherSwap v3 contract,
sha256precompile matchesHbyte-for-byte - DISPATCH descriptor
contractaddress,amount_wei,claim_address,refund_address, and block-heighttimelock- Default delta timeout
- 600 s