Split
Creates an Unsigned Transaction for Splitting a Solana Stake Account
Supports both standard recent blockhash nonces (default) and durable nonces (more information here):
- For standard recent blockhash nonces, leave
nonce_accountandnonce_authorityempty. - For durable nonces, define a
nonce_account.
Parameters
network
- Type: string
- Enum: required
- Allowed:
mainnet,testnet,devnet
stake_account
- Type: string
- Required: Yes
- Description: Source stake account pubkey
funding_account_pubkey
- Type: string
- Description: Pubkey of the account that will fund the transaction. Defaults to the stake authority of the source stake account.
amount_sol
- Type: number
- Required: Yes
- Description: Amount of SOL to split to the new stake account
nonce_account
- Type: string | null
- Description: Pubkey of the on-chain nonce account. Enables offline signing without the 60–90s blockhash expiry.
nonce_authority
- Type: string | null
- Description: Pubkey of the account authorized to advance the nonce. Defaults to the fee payer if omitted.
Responses
201 Transaction Created
- Type: object
- Data: object
- network:
- Type: string
- Enum: Solana network to build transaction for
- Allowed:
mainnet,testnet,devnet
- signing_payload: string
- unsigned_transaction_serialized: string
- unsigned_tx_serialized_hex: string
- unsigned_tx_serialized_base64: string
- destination_stake_account_pubkey: string
- last_valid_block_height: number | null
- Description: Block height after which the transaction payload will be expired
- nonce_value: string | null
- Description: The nonce value used as the transaction's blockhash. Present when
nonce_accountis provided.
- Description: The nonce value used as the transaction's blockhash. Present when
- is_durable_nonce: boolean | null
- Description: True when a durable nonce is used.
last_valid_block_heightwill be null.
- Description: True when a durable nonce is used.
- network:
400 Invalid Request
422 Invalid Request
Example CURL Request
curl --request POST \
--url https://api.figment.io/solana/split \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-api-key: your-api-key-here' \
--data '{
"network": "mainnet"
}'
Example Response
{
"data": {
"network": "devnet",
"signing_payload": "0xSigningPayload",
"unsigned_transaction_serialized": "0xSerializedTransaction",
"unsigned_tx_serialized_hex": "0xSerializedTransaction",
"unsigned_tx_serialized_base64": "0xSerializedTransaction",
"destination_stake_account_pubkey": "4ca4gDieqrADT2LwvwK2M6qz9WBSJcP6Q2J2MA6PBfzC",
"last_valid_block_height": 359339325,
"nonce_value": "GNP8nFAjKFBxL6Bfmti9gBGxCRF7gMaGmEiKfJKpJAaG",
"is_durable_nonce": true
}
}