Client API Overview
Clients interact with exit functionality primarily through the (ArkService). The service provides both gRPC and REST endpoints for all exit 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.
Collaborative Exit Process
The preferred offboarding method where the operator cooperates to create an exit transaction:- Offboarding Request: Client calls
CollaborativeExitwith onchain destination address and amount - Tx creation: The server creates an exit transaction spending selected VTXOs
- Batch Processing: The exit is processed in the next batch round following the standard batch processing flow
- Settlement: The exit transaction is broadcast and confirmed onchain
Ramps: Boarding Arkade
How to use a ramp for offboarding Arkade
Unilateral Exit Process
When a collaborative exit fails or the operator is unresponsive, clients can force exit:- Unroll Initiation: Client initiates unilateral exit using the
--force flag - Timelock Wait: Client must wait for the unilateral exit delay period to expire
- Completion: After timelock expires, client completes the exit (`arkSdkClient.CompleteUnroll
Exit Types and CLI Usage
Collaborative Exit with Change:Event Stream Monitoring
Clients can monitor exit progress throughGetEventStream() , which returns GetEventStreamResponse and provides real-time updates about batch processing phases and transaction confirmations.