Split Delegations

If you have one stake accounts with large, you can split them into more accounts. This is useful for partial withdrawals.

Send the following request to our API:

curl -X POST \
  'https://api.stake.fish/v1/solana/delegations/split' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: YOUR_PUBLIC_API_KEY' \
  -d '{
    "stakeAuthorityPubkey": "STAKE_AUTHORITY_PUBKEY",
    "stakeAccountPubkey": "STAKE_ACCOUNT_PUBKEY",
    "splitAmount": "SPLIT_AMOUNT_IN_LAMPORTS"
  }'
📘

Important

This API requires Public API Key.


Required Fields:

  • stakeAuthorityPubkey: The public key that controls the stake accounts
  • stakeAccountPubkey: The existing stake account to split
  • splitAmount: The amount to split into the new account (in lamports)

Optional Fields:

  • fromPubkey: The public key that will sign and fund the transaction
    • Defaults to stakeAuthorityPubkey

Example Request Body:

{
  "stakeAuthorityPubkey": "Aby8zv8WueGgQgqvBSMdifCGr1MXEFUhYXTEhbs2ChyE",
  "stakeAccountPubkey": "7VGU4ZwR1e1AFekqbqv2gvjeg47e1PwMPm4BfLt6rxNk",
  "splitAmount": "10000000",
  "fromPubkey": "7VGU4ZwR1e1AFekqbqv2gvjeg47e1PwMPm4BfLt6rxNk"
}

Example Response:

{
  "serializedTransaction": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADBeoOx6fJLnceFv4CZ68u1zUB6f9k2fwkIAsA6ZRZ3KQUR9zlUhDKVJWQw7kjNt7wNP9oGHdZy8toGmBr4pT"
}

Sign & Broadcast Transaction

Once the merge transaction is prepared by our API, the final step is to sign and broadcast it.

Sign the Transaction

Rehydrate the serialized transaction from the Base64 encoded string. Use the account corresponding to the fromPubkey (defaults to stakeAuthorityPubkey) to sign the transaction.

Send the Transaction

Broadcast the signed transaction to a Solana node. Once confirmed, the source stake accounts will be merged into the target account.