What is Boarding?
Boarding enables users to bring external Bitcoin UTXOs into Arkade’s execution environment and receive programmable Virtual Transaction Outputs (VTXOs) in return. This operation is coordinated between clients and Arkade through the Intent System and settles atomically within Arkade’s standard batch processing flow.Client API Overview
Clients interact with boarding functionality primarily through theArkService gRPC interface. The service provides both gRPC and REST endpoints for all boarding operations.
Getting Boarding Configuration
Clients first need to understand the boarding parameters by callingGetInfo() which returns GetInfoResponse server configuration parameters like network settings, amount limits, timeouts (e.g. expiry, exit delays), the operator’s signer key, and the current protocol version.
Boarding Address Generation
Clients then generate a boarding address with two script paths:- User + Server (collaborative)
- User + CSV (unilateral exit after timeout)
Ramps: Boarding Arkade
How to use a ramp for boarding Arkade
Intent Registration and Batch Processing Participation
After funding the boarding address, clients participate in the standard batch processing flow:- Registration: Client registers an intent through
RegisterIntent()with boarding inputs and aBIP322signature. - Confirmation: Client confirms participation via
ConfirmRegistration() - Tree Signing: Client submits nonces and signatures for the Musig2 protocol
- Forfeit Transaction Submission: Client submits signed forfeit transactions
- Commitment Transaction Signing: Client signs commitment transaction for boarding inputs
validateBoardingInput
Event Stream Monitoring
Clients can monitor the boarding progress throughGetEventStream() , which returns GetEventStreamResponse and provides real-time updates about batch processing phases and transaction confirmations.
From the client perspective, boarding is seamlessly integrated into the standard Arkade transaction flow. No special boarding APIs are needed; clients include their Bitcoin UTXOs as inputs in their intents and follow the existing batch processing protocol. The system handles boarding validation and processing transparently during the batch lifecycle.