API Reference
Complete reference for all ckBoost Protocol functions based on the Candid interface.
Type Definitions
Basic Types
BoostId
nat
- Unique identifier for boost requests
BoosterPoolId
nat
- Unique identifier for booster pools
Subaccount
blob
- ICRC-1 subaccount for fund isolation
Amount
nat
- Amount in satoshis
Timestamp
int
- Unix timestamp in nanoseconds
Fee
float64
- Fee percentage (0.1 to 10.0)
Status Types
type BoostStatus = variant {
pending; // Waiting for booster acceptance
active; // Booster matched, waiting for Bitcoin
completed; // Transaction completed successfully
cancelled; // Request cancelled
boosted; // ckBTC provided, waiting for reclamation
minting; // Minting process in progress
};
Record Types
type BoostRequest = record {
id: BoostId;
owner: principal;
amount: Amount;
fee: Fee;
receivedBTC: Amount;
btcAddress: opt text;
subaccount: Subaccount;
status: BoostStatus;
matchedBoosterPool: opt BoosterPoolId;
createdAt: Timestamp;
updatedAt: Timestamp;
};
type BoosterPool = record {
id: BoosterPoolId;
owner: principal;
fee: Fee;
subaccount: Subaccount;
availableAmount: Amount;
totalBoosted: Amount;
createdAt: Timestamp;
updatedAt: Timestamp;
};
Result Types
type BoostRequestResult = variant { ok: BoostRequest; err: text };
type BoosterPoolResult = variant { ok: BoosterPool; err: text };
type TextResult = variant { ok: text; err: text };
Helper Functions
Utility functions for conversions and system information.
ckBTCToSatoshis
float64
nat
Converts ckBTC amount to satoshis
satoshisToCkBTC
nat
float64
Converts satoshis to ckBTC amount
getCanisterPrincipal
none
text
(query)
Gets the canister's principal ID
getDirectBTCAddress
none
text
Gets the main Bitcoin address
System Functions
greet
text
text
(query)
Basic greeting function
whoami
none
text
Returns caller's principal
Boost Request Operations
Functions for creating, managing, and querying boost requests.
Request Lifecycle
registerBoostRequest
Amount
, Fee
BoostRequestResult
Create new boost request
updateReceivedBTC
BoostId
, Amount
BoostRequestResult
Update Bitcoin deposit amount
getBoostRequestBTCAddress
BoostId
TextResult
Get Bitcoin address for request
checkBTCDeposit
BoostId
BoostRequestResult
Check and update Bitcoin deposits
Request Queries
getBoostRequest
BoostId
opt BoostRequest
(query)
Get specific request by ID
getUserBoostRequests
principal
vec BoostRequest
(query)
Get all requests for user
getAllBoostRequests
none
vec BoostRequest
(query)
Get all requests in system
Function Details
registerBoostRequest(Amount, Fee) -> BoostRequestResult
Creates a new boost request for instant ckBTC conversion.
Amount: Satoshis to convert (minimum: 10,000)
Fee: Maximum fee percentage (0.1 - 10.0)
Errors: Invalid amount, invalid fee, address generation failure
updateReceivedBTC(BoostId, Amount) -> BoostRequestResult
Updates the Bitcoin amount received for a request.
BoostId: Target request identifier
Amount: Bitcoin amount received in satoshis
Errors: Request not found, invalid status, invalid amount
getBoostRequestBTCAddress(BoostId) -> TextResult
Retrieves the unique Bitcoin address for a boost request.
BoostId: Target request identifier
Returns: Bitcoin address string
Errors: Request not found, address not generated
checkBTCDeposit(BoostId) -> BoostRequestResult
Monitors and updates Bitcoin deposits for a request.
BoostId: Target request identifier
Returns: Updated request with current Bitcoin balance
Errors: Request not found, monitoring failure
Booster Pool Operations
Functions for liquidity providers to manage their capital pools.
Pool Management
registerBoosterPool
Fee
BoosterPoolResult
Create new booster pool
Pool Queries
getBoosterPool
BoosterPoolId
opt BoosterPool
(query)
Get specific pool by ID
getUserBoosterPools
principal
vec BoosterPool
(query)
Get all pools for user
getAllBoosterPools
none
vec BoosterPool
(query)
Get all pools in system
Function Details
registerBoosterPool(Fee) -> BoosterPoolResult
Creates a new liquidity pool for providing instant ckBTC.
Fee: Fee percentage charged (0.1 - 10.0)
Errors: User already has pool, invalid fee percentage
Advanced Operations
Core protocol operations for boosters and users.
Booster Operations
acceptBoostRequest
BoostId
text
Accept a pending boost request
registerBoosterAccount
Fee
BoosterAccountResult
Create booster account
updateBoosterDeposit
principal
, Amount
BoosterAccountResult
Add liquidity to account
withdrawBoosterFunds
Amount
text
Remove liquidity from account
triggerMintingForBoostReclaim
BoostId
text
Start fund reclamation process
reclaimMintedFunds
BoostId
text
Complete fund reclamation
User Fallback Operations
triggerMintingForMyBoostRequest
BoostId
text
Start direct minting (no booster)
claimMintedCKBTC
BoostId
text
Complete direct minting
Additional Query Functions
getBoosterAccount
principal
opt BoosterAccount
(query)
Get booster account by principal
getAllBoosterAccounts
none
vec BoosterAccount
(query)
Get all booster accounts
getPendingBoostRequests
none
vec BoostRequest
(query)
Get all pending requests
getBoostedRequests
none
vec BoostRequest
(query)
Get all boosted requests
getMintingRequests
none
vec BoostRequest
(query)
Get all minting requests
Last updated