Summary of "Re{solve} Hackathon Workshop: Seamless onboarding of bitcoiners to Starknet"
Summary of "Re{solve} Hackathon Workshop: Seamless onboarding of bitcoiners to Starknet"
Key Technological Concepts and Product Features
- Atomic SDK:
- A software development kit enabling seamless, trustless swaps between Bitcoin (BTC) and Starknet tokens.
- Supports on-chain swaps between Bitcoin Layer 1 (main chain) and Starknet, as well as Bitcoin Layer 2 via the Lightning Network.
- Facilitates bidirectional swaps: BTC ⇄ Starknet tokens.
- Works peer-to-peer without a centralized backend; requires storage adapters for persistence outside browser environments.
- Supports modular chain integration (e.g., Starknet, Solana).
- Provides utilities such as address parsers to identify Bitcoin, Lightning, Starknet, or Solana addresses.
- Swapping Mechanism:
- Uses market makers/liquidity providers to obtain binding quotes for swaps via RFQ (Request for Quote).
- Supports partially signed Bitcoin transactions (PSBT) for wallet interoperability (e.g., Unisat, Xverse).
- Atomic swaps are designed to be trustless, with refund mechanisms if counterparties refuse to proceed.
- On-chain swaps allow users to send BTC and receive Starknet tokens without needing to stay online during Bitcoin confirmations (unlike some other solutions like Garden).
- Storage and Wallet Management:
- For browser environments, IndexedDB is used by default for swap data persistence.
- For backend/Node.js environments, SQLite storage adapter is used, with the option to implement custom storage adapters (e.g., Google Cloud Storage, Cosmos DB, MongoDB).
- Wallet keys are saved locally in key files to maintain persistent wallets across application restarts.
- Supports OpenZeppelin accounts for Starknet wallet management.
- Lightning Network Support:
- Lightning swaps require Hash Time Locked Contracts (HTLCs) and involve more complex secret management.
- Lightning swaps currently require mainnet usage due to lack of testnet wallet support.
- UX challenges exist, such as needing a funded Starknet account to receive Lightning payments; improvements are underway.
- Lightning swaps use external Lightning wallets and invoices for payments.
- Comparison with Garden:
- Atomic swaps do not require users to stay online during Bitcoin confirmations, improving UX.
- Garden uses HTLC atomic swaps which require live client presence, which can be a poor experience given Bitcoin's confirmation times.
- Atomic SDK allows for automatic handling and settlement without constant user interaction.
- Integration and Workflow Suggestions:
- Atomic SDK can be integrated with invisible wallets like ChPay, allowing users to log in with Google accounts while maintaining crypto sovereignty.
- The SDK can be used to abstract away Starknet complexity from Bitcoin users, enabling seamless onboarding without users needing to know about Starknet.
- Possible to combine Atomic with other wallets (e.g., Unisat, Xverse) for signing Bitcoin transactions.
- Custom storage adapters can enable cloud-based swap persistence for multi-device user scenarios.
Tutorial / Workshop Highlights
- Step-by-step live coding session creating a TypeScript project for atomic swaps.
- Installation of necessary packages: Atomic SDK, Starknet libraries, Bitcoin signer, SQLite adapter for backend storage.
- Setup of wallets for Starknet and Bitcoin with persistent key storage.
- Using faucets to fund testnet wallets for demonstration.
- Creating and initializing the swapper instance to perform swaps.
- Demonstrating getting quotes, sending Bitcoin transactions, and awaiting confirmations.
- Executing swaps from Bitcoin to Starknet tokens and vice versa.
- Showcasing Lightning Network swaps with external wallets and invoices.
- Handling swap lifecycle events like confirmations, updates, and refunds.
- Explanation of the underlying mechanisms like PSBT, HTLC, and escrow.
- Q&A addressing integration questions, storage options, and differences with competing solutions.
Key Sources / Speakers
- Adam:
- Co-founder and technical lead of Atomic.
- Main presenter conducting the live coding workshop and answering technical questions.
- Workshop Host / Moderator:
- Facilitates the session, manages questions, and provides additional context about hackathon resources and related technologies like Garden.
Overall, the workshop provided a comprehensive technical guide on using the Atomic SDK to enable trustless, seamless swaps between Bitcoin and Starknet tokens, including both on-chain and Lightning Network solutions, with practical coding examples and integration advice.
Category
Technology