Solana

The Staking API responses will adhere to standard HTTP response conventions. Importantly, the staking platform performs business validations on all POST request messages to ensure that each request contains accurate and complete information. The business validation failures will be responded to with an HTTP 400, while any internal processing errors identified will be responded to with an HTTP 500.

Stake Account Creation

post

This endpoint allows clients to initiate staking by creating and funding a new stake account on the Solana blockchain.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
networkstring · enumRequired

The network on which the stake account should be created. Supported values; -mainnet -testnet -devnet

Possible values:
participantstringOptional

The participant name registered on the staking platform that corresponds to the client’s customer. If not provided requests will be assigned to a default participant connected to the API key.

Example: Participant 1
accountstringOptional

The account name registered on the staking platform that corresponds to the client’s customer. If not provided requests will be assigned to a default account linked to the participant.

Example: Account 1 Main
funding_pubkeystringRequired

The Solana account address that will be funding the stake account.

Example: G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8
amountnumberRequired

The amount of SOL that should be sent to the stake account.

Example: 1.5
stake_authority_pubkeystringOptional

The Solana account address that should sign all stake account related actions (Delegation, Undelegation, Split and Merge). If not provided will default to the “funding_pubkey”.

Example: G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8
withdraw_authority_pubkeystringOptional

The Solana account address that should sign withdrawal transactions. If not provided will default to the “funding_pubkey”.

Example: G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
stake_account_pubkeystringOptional

The public key of the newly created stake account.

Example: JBwWBWQgSDpXt8rvrnYHkYFLpwwUqWVW3P7NJ2SpdcFo
unsigned_txstringOptional

The Hexadecimal encoded serialized unsigned transaction which should be signed by the relevant parties specified in the signers field.

Example: AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
signersstring[]Optional

The funding account that has to sign the transaction.

Example: ["G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3"]
created_atstring · date-timeOptional

The time at which the request was received by the staking platform. Times will be shown in the “YYYY-MM-DD HH:mm:ss” format.

Example: 2024-11-29T05:19:02.644Z
post
/v1/solana/delegators/stake-account

Delegation

post

This end point supports the delegation of stake accounts under a selected validator. Clients can delegate stake accounts that are currently onboarded onto the staking platform as well as stake accounts that do not have a corresponding position on the staking platform i.e. stake accounts created elsewhere.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
stake_account_pubkeystringRequired

The stake account that should be delegated.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
validator_pubkeystringRequired

The validator address under which the stake account should be delegated.

Example: FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f
fee_payerstringOptional

The Solana account address that should pay the fees related to the transaction. If not provided fees should be paid by the Stake Authority of the stake account.

Example: 31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
participantstringOptional

The participant name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position will be created under a default participant.

Example: Participant 1
accountstringOptional

The account name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position will be created under a default account.

Example: Account 1 Main
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
stake_account_pubkeystringOptional

The stake account that was sent in the delegation request.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
validator_pubkeystringOptional

The validator address that was sent in the delegation request.

Example: FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f
unsigned_txstringOptional

The Hexadecimal encoded serialized unsigned transaction which should be signed by the relevant parties specified in the signers field.

Example: AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
signersstring[]Optional

An array of the Solana account addresses that should sign the transaction. A delegation request should be signed by the Stake Authority of the stake account and the “fee_payer” (If applicable).

Example: ["G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3","31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"]
created_atstring · date-timeOptional

The time at which the request was received by the staking platform. Times will be shown in the “YYYY-MM-DD HH:mm:ss” format.

Example: 2024-11-29T05:19:02.644Z
post
/v1/solana/delegators/delegate

Undelegation

post

Clients can use the undelegation endpoint to undelegate an existing delegation. This endpoint allows clients to undelegate stake accounts that are currently onboarded onto the staking platform as well as stake accounts that do not have a corresponding position on the staking platform

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
stake_account_pubkeystringRequired

The stake account that should be undelegated.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
fee_payerstringOptional

TThe Solana account address that should pay the fees related to the transaction. If not provided fees should be paid by the Stake Authority of the stake account.

Example: 31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
participantstringOptional

The participant name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position will be created under a default participant.

Example: Participant 1
accountstringOptional

The account name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position will be created under a default account.

Example: Account 1 Main
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
stake_account_pubkeystringOptional

The stake account that was sent in the undelegation request.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
unsigned_txstringOptional

The Hexadecimal encoded serialized unsigned transaction which should be signed by the relevant parties specified in the signers field.

Example: AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
signersstring[]Optional

An array of the Solana account addresses that should sign the transaction. An undelegation request should be signed by the Stake Authority of the stake account and the “fee_payer” (If applicable).

Example: ["G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3","31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"]
created_atstring · date-timeOptional

The time at which the request was received by the staking platform. Times will be shown in the “YYYY-MM-DD HH:mm:ss” format.

Example: 2024-11-29T05:19:02.644Z
post
/v1/solana/delegators/undelegate

Withdrawals

post

Clients can use this endpoint to withdraw undelegated SOL from both onboarded stake accounts and those without a corresponding position on the staking platform. Withdrawals can be made from a stake account to a Solana account (wallet) or between stake accounts.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
stake_account_pubkeystringRequired

The stake account from which SOL should be withdrawn.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
recipient_pubkeystringOptional

The stake account or Solana account (wallet) to which the withdrawn SOL will be transferred. If not provided the withdrawal will be done to the funding account of the stake account.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
amountnumberRequired

The amount of SOL that should be withdrawn. The amount should be sent without trailing zeros.

Example: 1.2
fee_payerstringOptional

The Solana account address that should pay the fees related to the transaction. If not provided fees should be paid by the Withdraw Authority of the stake account.

Example: 31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
participantstringOptional

The participant name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position will be created under a default participant.

Example: Participant 1
accountstringOptional

The account name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position will be created under a default account.

Example: Account 1 Main
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
stake_account_pubkeystringOptional

The stake account that was sent in the withdrawal request.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
recipient_pubkeystringOptional

The recipient address that was sent in the withdrawal request.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
amountnumberOptional

The amount sent in the withdrawal request.

Example: 1.2
unsigned_txstringOptional

The Hexadecimal encoded serialized unsigned transaction which should be signed by the relevant parties specified in the signers field.

Example: AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
signersstring[]Optional

An array of the Solana account addresses that should sign the transaction. A withdrawal request should be signed by the Withdraw Authority of the stake account and the “fee_payer” (If applicable).

Example: ["G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3","31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"]
created_atstring · date-timeOptional

The time at which the request was received by the staking platform. Times will be shown in the “YYYY-MM-DD HH:mm:ss” format.

Example: 2024-11-29T05:19:02.644Z
post
/v1/solana/delegators/withdraw

Split

post

Clients can use this endpoint to split the balance of a stake account into a new stake account. It supports splitting both onboarded stake accounts and those without a corresponding position on the staking platform.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
stake_account_pubkeystringRequired

The stake account that should be split.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
amountnumberRequired

The amount of SOL that should be split from the existing stake account to the newly created stake account.

Example: 1.2
fee_payerstringOptional

The Solana account address that should pay the fees related to the transaction. If not provided fees should be paid by the Stake Authority of the stake account.

Example: 31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
participantstringOptional

The participant name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position will be created under a default participant.

Example: Participant 1
accountstringOptional

The account name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position will be created under a default account.

Example: Account 1 Main
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
source_account_pubkeystringOptional

The existing stake account that was sent in the split request

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
destination_account_pubkeystringOptional

The newly created stake account to which SOL will be transferred

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1w
unsigned_txstringOptional

The Hexadecimal encoded serialized unsigned transaction which should be signed by the relevant parties specified in the signers field.

Example: AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
signersstring[]Optional

An array of the Solana account addresses that should sign the transaction. A split request should be signed by the Stake Authority of the stake account and the “fee_payer” (If applicable)

Example: ["G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3","31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"]
created_atstring · date-timeOptional

The time at which the request was received by the staking platform. Times will be shown in the “YYYY-MM-DD HH:mm:ss” format

Example: 2024-11-29T05:19:02.644Z
post
/v1/solana/delegators/split

Merge

post

the staking platform Staking API offers an endpoint to merge two stake accounts that share the same stake and withdrawal authorities into a single stake account. This endpoint allows clients to merge stake accounts that are currently onboarded onto the staking platform as well as merge stake accounts that do not have a corresponding position on the staking platform.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
source_account_pubkeystringRequired

The stake account that should be merged into the destination account.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
destination_account_pubkeystringRequired

The stake account that the source account will be merged into.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
fee_payerstringOptional

The Solana account address that should pay the fees related to the transaction. If not provided fees should be paid by the Stake Authority of the stake account.

Example: 31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
participantstringOptional

The participant name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position/s will be created under a default participant.

Example: Participant 1
accountstringOptional

The account name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position/s will be created under a default account.

Example: Participant 1_acc1
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
source_account_pubkeystringOptional

The source stake account that was sent in the merge request.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
destination_account_pubkeystringOptional

The destination stake account that was sent in the merge request.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1w
unsigned_txstringOptional

The Hexadecimal encoded serialized unsigned transaction which should be signed by the relevant parties specified in the signers field.

Example: AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
signersstring[]Optional

An array of the Solana account addresses that should sign the transaction. A merge request should be signed by the Stake Authority of the stake account and the “fee_payer” (If applicable).

Example: ["G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3","31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"]
created_atstring · date-timeOptional

The time at which the request was received by the staking platform. Times will be shown in the “YYYY-MM-DD HH:mm:ss” format.

Example: 2024-11-29T05:19:02.644Z
post
/v1/solana/delegators/merge

Transfer

post

Clients can use this endpoint to transfer SOL from a Solana account (wallet) to a stake account. This endpoint allows clients to transfer SOL to stake accounts that have been onboarded onto the staking platform as well as to stake accounts that do not have a corresponding position on the staking platform.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
source_account_pubkeystringRequired

The Solana account (wallet) from which SOL will be transferred out of.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
destination_account_pubkeystringRequired

The stake account into which SOL will be transferred.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
amountnumberRequired

The amount of SOL to be transferred to the stake account.

Example: 0.5
fee_payerstringOptional

The Solana account address that should pay the fees related to the transaction. If not provided fees should be paid by the ‘source_account_pubkey’.

Example: 31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
participantstringOptional

The participant name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position/s will be created under a default participant.

Example: Participant 1
accountstringOptional

The account name registered on the staking platform under which the stake account should be created if it has not currently been onboarded onto the staking platform. If not provided the position/s will be created under a default account.

Example: Account 1 Main
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
from_account_pubkeystringOptional

The Solana account (wallet) from which SOL will be transferred.

Example: BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
to_account_pubkeystringOptional

The destination stake account to which SOL will be transferred.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1w
unsigned_txstringOptional

The Hexadecimal encoded serialized unsigned transaction which should be signed by the relevant parties specified in the signers field.

Example: AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
signersstring[]Optional

An array of the Solana account addresses that should sign the transaction. A transfer request should be signed by the private key of the source account and the “fee_payer” (If applicable).

Example: ["G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3","31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"]
created_atstring · date-timeOptional

The time at which the request was received by the staking platform. Times will be shown in the “YYYY-MM-DD HH:mm:ss” format.

Example: 2024-11-29T05:19:02.644Z
post
/v1/solana/delegators/transfer

Submit Signed Transactions

post

Clients can submit their signed transactions to the staking platform via this endpoint. Upon receiving a signed transaction the staking platform will broadcast it to the Solana blockchain for execution.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
stake_account_pubkeystringRequired

The address for which the signed transaction is being sent.

Example: 77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18
actionstring · enumRequired

The action for which the payload is applicable. Supported values are;

  • stake_account_creation
  • delegate
  • undelegate
  • withdraw
  • split
  • merge
  • transfer
Example: withdrawPossible values:
tx_payloadstringRequired

Hexadecimal encoded serialized signed transaction corresponding to the unsigned transaction created via respective endpoint.

Example: AVubIXkY58h7SWVybmV4LfQMi0LzDjI/6a0kqmkSnqkgsbELvca/u6K+cj+EnH2ZbMoczzdZSJHdvkZpcb8ojQ4BAAUHHemcMq/s9GReFNveg0cxx0Y8/+tmySLLzJM+4IJMROZayWI6FtCwSthWivKewpfc+PjVkFFuzgpLyEtIYz3c6930KgSAClTeLlg/lPF7CJclt3LRMzUmJxJBUyd20v/GBqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAAGodgXpQIFC2gHkebObbiOHltxUPYfxnkKTrTRAAAAAAan1RcYx3TJKFZjmGkdXraLXrijm0ttXHNVWyEAAAAABqfVFxk1hND+7ZuzQx0TIGvlRCgbV7hWbMU3X/QAAABKpClAbBa5nzget5in1jkJZczarGXeb81KiNLzOFG9lQEDBgECBQYEAAQCAAAA
destination_account_pubkeystringOptional

The destination address for which the signed transaction is being sent. Will be required if the action is one of the following - withdraw, split, merge, transfer.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
stake_account_pubkeystringOptional

The stake account address in the API request.

Example: 77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18
destination_account_pubkeystringOptional

The destination address in the API request.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
actionstringOptional

The action sent in the request.

Example: withdraw
tx_hashstringOptional

The transaction hash for the broadcasted transaction. The transaction hash will be received after the payload is successfully sent to the Solana blockchain.

Example: 2qEA2oQaRKFtpsgfEXLRGBi2qNfATWmygvrz3agdMS7N9xMYw2wbJkykkeYNJ6pEffftMZupCbg2woETmE15iDZw
tx_statusstring · enumOptional

The status of the transaction. Supported values are;

  • signed_tx_received
  • signed_tx_sent
  • broadcasted
  • confirmed
  • rejected
Example: confirmedPossible values:
post
/v1/solana/delegators/signed-transaction

Submit Transaction Hash

post

Clients can use this endpoint to submit a transaction hash for a payload independently broadcasted to the blockchain. the staking platform verifies the transaction status and updates the corresponding stake account position accordingly.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
stake_account_pubkeystringRequired

The address for which the transaction hash is being sent.

Example: 77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18
actionstring · enumRequired

The action for which the payload is applicable. Supported values are;

  • stake_account_creation
  • delegate
  • undelegate
  • withdraw
  • split
  • merge
  • transfer
Example: withdrawPossible values:
tx_hashstringRequired

The transaction hash which is being submitted to the staking platform.

Example: 2qEA2oQaRKFtpsgfEXLRGBi2qNfATWmygvrz3agdMS7N9xMYw2wbJkykkeYNJ6pEffftMZupCbg2woETmE15iDZw
destination_account_pubkeystringOptional

The destination address for which the signed transaction is being sent. Will be required if the action is one of the following - withdraw, split, merge, transfer.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
stake_account_pubkeystringOptional

The stake account address in the API request.

Example: 77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18
destination_account_pubkeystringOptional

The destination address in the API request.

Example: 6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
actionstringOptional

The action sent in the request.

Example: delegate
tx_hashstringOptional

The transaction hash sent in the API request.

Example: 2qEA2oQaRKFtpsgfEXLRGBi2qNfATWmygvrz3agdMS7N9xMYw2wbJkykkeYNJ6pEffftMZupCbg2woETmE15iDZw
tx_statusstring · enumOptional

The status of the transaction.Supported values are;

  • confirmed
  • rejected
Example: confirmedPossible values:
post
/v1/solana/delegators/transaction

Rewards

post

The rewards endpoint returns rewards accrued by a stake account. This endpoint accepts the filtering by start and end (can be epoch or date), and delegator address (stake account) public keys. This endpoint returns the rewards since stake account inception, accrued rewards in the specified period and epoch-wise rewards breakdown for the specified period.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
pagestringOptional

The current page number requested by the client, if not specified, should be defaulted to 1.

sizestringOptional

The number of entries per page, if not presented in the request, should be defaulted to the maximum value of 250.

Header parameters
X-API-KEYstringRequiredExample: <API Key>
Body
networkstring · enumRequired

The network on which validators should be created. Supported values;

  • mainnet
  • testnet
  • devnet
Possible values:
rollup_typeinteger · enumRequired

Denotes the granularity of rewards breakdown. THe applicable values are;

  • 1 (epoch)
  • 2 (date)
Possible values:
startstringRequired

It specifies the start epoch if the type is 1, or the start date in the "YYYY-MM-DD" format (UTC timezone) if the type is 2.

Example: 200000
endstringRequired

It specifies the end epoch if the type is 1, or the end date in the "YYYY-MM-DD" format (UTC timezone) if the type is 2.

Example: 200100
stake_accountsstring[]Required

List of delegator stake accounts to fetch the rewards breakdown. A maximum of 50 entries are allowed.

Example: ["2yoofMr4N78WPxVK8MU8Yy26dfRZbPw5WDzTRCA9uv95","2yoofMr4N78WPxVK8MU8Yy26dfRZbPw5WDzTRCA9uv96"]
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
networkstring · enumOptional

Network specified in the request.

Possible values:
startstringOptional

Start epoch or start date specified in the request.

Example: 100
endstringOptional

End epoch or end date specified in the request.

Example: 450
pageinteger · int32Optional

The current page number sent in the request.

Example: 1
totalinteger · int64Optional

The total number of records resulted for the input criteria.

Example: 250
post
/v1/solana/delegators/rewards

Retrieve Multiple Delegators

post

The endpoint to retrieve a list of delegators returns the details of the stake accounts monitored by a given client that fit the specified filter criteria in a paginated manner. If no filtration criteria is provided, the endpoint will retrieve a list of all the stake accounts applicable to the client. All timestamp fields in the response are in UTC.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
pagestringOptional

The current page number requested by the client, if not specified, should be defaulted to 1.

Default: 1
sizestringOptional

The number of entries per page, if not presented in the request, should be defaulted to the maximum value of 250.

Default: 250
Header parameters
X-API-KEYstringRequiredExample: <API Key>
Body
networkstring · enumRequired

The network on which the queried stake accounts have been created . Supported values;

  • mainnet
  • testnet
  • devnet
Possible values:
participantstringOptional

The participant name registered on the staking platform from which stake accounts need to be retrieved.

Example: Participant_1
accountstringOptional

The account name registered on the staking platform from which stake accounts need to be retrieved.

Example: Account_1
stake_accountsstring[]Optional

List of delegator stake accounts to fetch the delegator information. A maximum of 250 entries are allowed.

Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
networkstring · enumOptional

Network specified in the request. Supported values;

  • mainnet
  • testnet
  • devnet
Possible values:
pageinteger · int32Optional

The current page number sent in the request.

Example: 1
totalinteger · int64Optional

Total number of stake accounts being sent in the API response

Example: 50
post
/v1/solana/delegators

Get a Single Delegator

get

This request will return the information regarding a single delegator which is being monitored by the staking partner

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
networkstringRequired

Applicable values are mainnet, testnet and devnet

stake_accountstringRequired

The public key of the stake account belonging to the delegator.

Header parameters
X-API-KEYstringRequiredExample: <API Key>
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
networkstring · enumRequired

The network on which validators should be created. Supported values.

Possible values:
stake_accountstringOptional

The public key of the stake account

Example: 2yoofMr4N78WPxVK8MU8Yy26dfRZbPw5WDzTRCA9uv95
statusstringOptional

Current status of the delegator

Example: ACTIVE
balance_in_lamportsnumber · doubleOptional

The balance in the stake account in Lamports

Example: 138000002
balance_in_solnumber · doubleOptional

The balance of the stake account in SOL

Example: 1.38
get
/v1/solana/{network}/delegators/{stake_account}

Validator Information

get

Clients can use this endpoint to query detailed information about Solana validators with stake accounts under them on the staking platform.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
networkstring · enumRequired

Applicable values are mainnet, testnet and devnet

Possible values:
validator_addressstringRequired

The public key of the validator

Header parameters
X-API-KEYstringRequiredExample: <API Key>
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
networkstring · enumOptional

Network specified in the request. Supported values;

  • mainnet
  • testnet
  • devnet
Possible values:
apynumber · doubleOptional

The Annualized Percentage Yield of the validator. This value will be calculated only using the stake accounts for the specified validator that have been onboarded onto the staking platform. The calculation will consider rewards earned across the past 4 epochs (the past week)

Example: 6.784
validator_addressstringOptional

The address of the validator for which information is requested.

Example: CvSb7wdQAFpHuSpTYTJnX5SYH4hCfQ9VuGnqrKaKwycB
validator_statusstringOptional

The current status of the validator

Example: ACTIVE
delegated_balancenumber · doubleOptional

The total balance delegated under the validator in SOL. The total “net balance” values of the delegators under the staking platform

Example: 50380.2581
get
/v1/solana/{network}/validators/{validator_address}

Delegator Monitoring

post

Clients can invoke this endpoint to monitor existing delegations by retrieving and tracking delegator addresses (stake accounts) on the staking platform. A request with a list of delegator addresses enables the creation of corresponding positions on the staking platform for monitoring purposes.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Header parameters
X-API-KEYstringRequiredExample: <API Key>
Body
networkstring · enumRequired

Applicable network. Supported values;

  • mainnet
  • testnet
  • devnet
Possible values:
validator_addressstringRequired

The address of the validator under which the stake account is delegating SOL.

Example: 49bf80cb-c7ca-4082-a526-8afab545cc62
Responses
chevron-right
200

Sample success response payload. See Response schema below for wrapper

application/json
delegator_monitoring_reference_idstringOptional

A system-generated unique identifier for the API request. This identifier is stamped in the 'Link ID' fields of all positions created through the API request.

Example: VMP3481870568
post
/v1/solana/delegators/monitoring

Last updated