Bitcoin Addresses

For Layer 1 Bitcoin deposits, Spark generates Pay to Taproot (P2TR) addresses. These addresses start with “bc1p” and can be used to receive Bitcoin from any wallet.

In production, Spark ↔ Spark transfers will use the Bitcoin address format as an addressing scheme, ultimately mapping to a Spark public key in the background.

Example:

bc1p5d7rjq7g6rdk2yhzks9smlaqtedr4dekq08ge8ztwac72sfr9rusxg3297

Spark uses public keys to properly map Spark ↔ Spark transfers. A bitcoin address will map to this public key in production, Spark will automatically determine whether to process the payment on Layer 1 or Layer 2.

When available, we’d prefer not to expose the public key directly, instead opting to use the Bitcoin address format and mapping in the background.

Example:

030a5f818880a5603b73c9869b37d3ac0bf81e243a48c7b653b28bf52c310b3016

Lightning Invoices

Lightning addresses facilitate Lightning ↔ Spark transfers. Users can both generate and pay Lightning invoices. Key characteristics:

  • Each invoice can only be paid once
  • Support for flexible payments through 0-amount invoices
  • Sender can specify payment value for flexible invoices

Example:

lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85fr9yq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzqj9n4evl6mr5aj9f58zp6fyjzup6ywn3x6sk8akg5v4tgn2q8g4fhx05wf6juaxu9760yp46454gpg5mtzgerlzezqcqvjnhjh8z3g2qqdhhwkj

UMA Addresses

An UMA is like an email address but for money. UMA lets anyone send and receive money (fiat and crypto) 24/7 using their favorite UMA-enabled wallet, exchange, or bank. UMA is global and open source.

In this initial version of Spark, UMAs can only be transferred to — enabling instant offramps from Spark directly to any UMA-enabled wallet, exchange, or bank.

Example:

$ben@uma.me