post
https://api.stake.fish/api/v1/chains/babylon-btc/transactions/prepare/pre-delegate
Prepare unsigned PSBTs and a Proof of Possession message for BTC staking on Babylon.
This is Exchange 1 of the BTC staking flow:
POST transactions/prepare/pre-delegate— Server creates staking TX, slashing PSBTs, unbonding PSBTs, and a POP message- Client signs the PSBTs and POP message with their BTC key
POST transactions/prepare/delegate— Server assembles the MsgCreateBTCDelegationPOST transactions/broadcast/babylon— Client signs and broadcasts the Babylon transactionGET stakes/:txId/status— Client polls until delegation reachesVERIFIEDorACTIVEstatePOST transactions/broadcast/bitcoin— Client broadcasts the signed Bitcoin staking transaction
Inputs Required:
- Staker's BTC address and x-only public key
- Staking amount (satoshis), timelock (blocks), and fee rate (sat/vB)
- Staker's Babylon address (bbn prefix)
Returns:
- Slashing and unbonding slashing PSBTs to sign
- POP message and its expected signature type
- Staking PSBT to sign
- Session state to pass back in step 3
bitcoinStakingTxIdto poll delegation status in step 5
