The Staking API responses will adhere to standard HTTP response conventions. Importantly, the 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.
It will be required to configure a new endpoint to retrieve validator level information for Solana validators
Applicable values are mainnet, testnet and devnet
The public key of the validator
application/json
application/json
<API Key>
Bearer <JWT>
GET /v1/solana/{network}/validators/{validator_address} HTTP/1.1
Host:
Authorization: Bearer <JWT>
Accept: application/json
Content-Type: application/json
X-API-KEY: <API Key>
{
"network": "mainnet",
"apy": 6.784,
"validator_address": "CvSb7wdQAFpHuSpTYTJnX5SYH4hCfQ9VuGnqrKaKwycB",
"validator_status": "ACTIVE",
"delegated_balance": 50380.2581
}
This request will return the information regarding a single delegator which is being monitored by the staking partner
Applicable values are mainnet, testnet and devnet
The public key of the stake account belonging to the delegator.
application/json
application/json
<API Key>
Bearer <JWT>
GET /v1/solana/{network}/delegators/{stake_account} HTTP/1.1
Host:
Authorization: Bearer <JWT>
Accept: application/json
Content-Type: application/json
X-API-KEY: <API Key>
{
"network": "mainnet",
"status": "ACTIVE",
"validator_info": {
"address": "2yoofMr4N78WPxVK8MU8Yy26dfRZbPw5WDzTRCA9uv95"
},
"stake_account": "2yoofMr4N78WPxVK8MU8Yy26dfRZbPw5WDzTRCA9uv95",
"balance_in_lamports": 1,
"balance_in_sol": 1.38,
"provision_info": {
"id": "VMP2285150508",
"created_at": "2024-09-04 10:25:24"
}
}
This endpoint allows clients to initiate staking by creating and funding a new stake account on the Solana blockchain.
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The participant name registered on the platform. If not provided, a default participant will be assigned.
Participant 1
The account name registered on the platform. If not provided, a default account linked to the participant will be assigned.
Participant 1_acc1
The network on which the stake account should be created. Valid values are mainnet
, testnet
, devnet
mainnet
The Solana account address that will be funding the stake account.
G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8
The amount of SOL that should be sent to the stake account.
1.5
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”.
G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8
The Solana account address that should sign withdrawal transactions. If not provided will default to the “funding_pubkey”.
G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8
POST /v1/solana/delegators/stake-account HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 306
{
"participant": "Participant 1",
"account": "Participant 1_acc1",
"network": "mainnet",
"funding_pubkey": "G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8",
"amount": 1.5,
"stake_authority_pubkey": "G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8",
"withdraw_authority_pubkey": "G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jsgd8"
}
{
"stake_account_pubkey": "JBwWBWQgSDpXt8rvrnYHkYFLpwwUqWVW3P7NJ2SpdcFo",
"unsigned_tx": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"signers": [
"G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3"
],
"created_at": "2024-11-29T05:19:02.644Z"
}
Clients use this endpoint to submit a transaction hash of a signed payload independently broadcasted to the blockchain. the platform verifies the transaction status and updates the corresponding stake account position accordingly.
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The address for which the signed transaction is being sent.
77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18
The action for which the payload is applicable. Valid values are stake_account_creation
, delegate
, undelegate
, withdraw
, transfer
, split
, merge
.
delegate
The transaction hash retrieved from the blockchain after broadcasting the signed transaction.
2qEA2oQaRKFtpsgfEXLRGBi2qNfATWmygvrz3agdMS7N9xMYw2wbJkykkeYNJ6pEffftMZupCbg2woETmE15iDZw
The destination address for which the signed transaction is being sent. Will be required if the action is one of withdraw
, transfer
, split
, merge
.
6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
POST /v1/solana/delegators/transaction HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 268
{
"stake_account_pubkey": "77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18",
"action": "delegate",
"tx_hash": "2qEA2oQaRKFtpsgfEXLRGBi2qNfATWmygvrz3agdMS7N9xMYw2wbJkykkeYNJ6pEffftMZupCbg2woETmE15iDZw",
"destination_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX"
}
{
"stake_account_pubkey": "77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18",
"destination_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX",
"action": "delegate",
"tx_hash": "2qEA2oQaRKFtpsgfEXLRGBi2qNfATWmygvrz3agdMS7N9xMYw2wbJkykkeYNJ6pEffftMZupCbg2woETmE15iDZw",
"tx_status": "confirmed"
}
Accepts a signed transaction payload and broadcasts it to the Solana network.
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The address for which the signed transaction is being sent. Required for actions like delegate, withdraw, split.
77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18
The action for which the payload is applicable. Valid values are stake_account_creation
, delegate
, undelegate
, withdraw
, split
, merge
, transfer
.
delegate
The hexadecimal encoded serialized signed transaction corresponding to the unsigned transaction created via respective endpoint.
AVubIXkY58h7SWVybmV4LfQMi0LzDjI/6a0kqmkSnqkgsbELvca/u6K+cj+EnH2ZbMoczzdZSJHdvkZpcb8ojQ4BAAUHHemcMq/s9GReFNveg0cxx0Y8/+tmySLLzJM+4IJMROZayWI6FtCwSthWivKewpfc+PjVkFFuzgpLyEtIYz3c6930KgSAClTeLlg/lPF7CJclt3LRMzUmJxJBUyd20v/GBqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAAGodgXpQIFC2gHkebObbiOHltxUPYfxnkKTrTRAAAAAAan1RcYx3TJKFZjmGkdXraLXrijm0ttXHNVWyEAAAAABqfVFxk1hND+7ZuzQx0TIGvlRCgbV7hWbMU3X/QAAABKpClAbBa5nzget5in1jkJZczarGXeb81KiNLzOFG9lQEDBgECBQYEAAQCAAAA
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.
6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
POST /v1/solana/delegators/signed-transaction HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 635
{
"stake_account_pubkey": "77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18",
"action": "delegate",
"tx_payload": "AVubIXkY58h7SWVybmV4LfQMi0LzDjI/6a0kqmkSnqkgsbELvca/u6K+cj+EnH2ZbMoczzdZSJHdvkZpcb8ojQ4BAAUHHemcMq/s9GReFNveg0cxx0Y8/+tmySLLzJM+4IJMROZayWI6FtCwSthWivKewpfc+PjVkFFuzgpLyEtIYz3c6930KgSAClTeLlg/lPF7CJclt3LRMzUmJxJBUyd20v/GBqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAAGodgXpQIFC2gHkebObbiOHltxUPYfxnkKTrTRAAAAAAan1RcYx3TJKFZjmGkdXraLXrijm0ttXHNVWyEAAAAABqfVFxk1hND+7ZuzQx0TIGvlRCgbV7hWbMU3X/QAAABKpClAbBa5nzget5in1jkJZczarGXeb81KiNLzOFG9lQEDBgECBQYEAAQCAAAA",
"destination_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX"
}
{
"stake_account_pubkey": "77PoG13uysZN2mXTACpGV3HCN2v14p894fzYxmjP2p18",
"destination_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX",
"action": "delegate",
"tx_hash": "2qEA2oQaRKFtpsgfEXLRGBi2qNfATWmygvrz3agdMS7N9xMYw2wbJkykkeYNJ6pEffftMZupCbg2woETmE15iDZw",
"tx_status": "confirmed"
}
Delegates a stake address to a specified validator address.
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The participant name registered on the platform. If not provided, a default participant will be assigned.
Participant 1
The account name registered on the platform. If not provided, a default account linked to the participant will be assigned.
Participant 1_acc1
The stake account that should be delegated.
BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
The validator address under which the stake account should be delegated.
FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f
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.
31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
POST /v1/solana/delegators/delegate HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 257
{
"participant": "Participant 1",
"account": "Participant 1_acc1",
"stake_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"validator_pubkey": "FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f",
"fee_payer": "31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
}
{
"stake_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"validator_pubkey": "FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f",
"unsigned_tx": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"signers": [
"G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3",
"31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
],
"created_at": "2024-11-29T05:19:02.644Z"
}
This endpoint allows clients to undelegate stake accounts
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The participant name registered on the platform. If not provided, a default participant will be assigned.
Participant 1
The account name registered on the platform. If not provided, a default account linked to the participant will be assigned.
Participant 1_acc1
The stake account that should be undelegated.
BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
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.
31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
POST /v1/solana/delegators/undelegate HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 191
{
"participant": "Participant 1",
"account": "Participant 1_acc1",
"stake_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"fee_payer": "31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
}
{
"stake_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"unsigned_tx": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"signers": [
"G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3",
"31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
],
"created_at": "2024-11-29T05:19:02.644Z"
}
Clients can use this endpoint to split the balance of a stake account into a new stake account.
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The participant name registered on the platform that corresponds to the client’s customer. If not provided, requests will be assigned to a default participant.
Participant 1
The account name registered on the platform that corresponds to the client’s customer. If not provided, requests will be assigned to a default account linked to the participant.
Participant 1_acc1
The stake account that should be split.
BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
The amount of SOL that should be split from the existing stake account to the newly created stake account.
1.2
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.
31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
POST /v1/solana/delegators/split HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 204
{
"participant": "Participant 1",
"account": "Participant 1_acc1",
"stake_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"amount": 1.2,
"fee_payer": "31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
}
{
"source_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"destination_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1w",
"unsigned_tx": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"signers": [
"G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3",
"31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
],
"created_at": "2024-11-29T05:19:02.644Z"
}
This endpoint allows clients to merge stake accounts that share the same stake and withdrawal authorities into a single stake account
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The participant name registered on the platform that corresponds to the client’s customer. If not provided, requests will be assigned to a default participant.
Participant 1
The account name registered on the platform that corresponds to the client’s customer. If not provided, requests will be assigned to a default account linked to the participant.
Participant 1_acc1
The stake account that should be merged into the destination account.
BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
The stake account that the source account will be merged into.
6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
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 accounts.
31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
POST /v1/solana/delegators/merge HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 268
{
"participant": "Participant 1",
"account": "Participant 1_acc1",
"source_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"destination_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX",
"fee_payer": "31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
}
{
"source_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"destination_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1w",
"unsigned_tx": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"signers": [
"G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3",
"31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
],
"created_at": "2024-11-29T05:19:02.644Z"
}
Transfer SOL from a Solana account (wallet) to a stake account. The transaction will be unsigned and returned for signing.
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The participant name registered on the platform that corresponds to the client’s customer. If not provided, requests will be assigned to a default participant.
Participant 1
The account name registered on the platform that corresponds to the client’s customer. If not provided, requests will be assigned to a default account linked to the participant.
Participant 1_acc1
The Solana account (wallet) from which SOL will be transferred out of.
BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
The stake account into which SOL will be transferred.
6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
The amount of SOL to be transferred to the stake account.
0.5
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’.
31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
POST /v1/solana/delegators/transfer HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 281
{
"participant": "Participant 1",
"account": "Participant 1_acc1",
"source_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"destination_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX",
"amount": 0.5,
"fee_payer": "31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
}
{
"from_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"to_account_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1w",
"unsigned_tx": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"signers": [
"G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3",
"31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
],
"created_at": "2024-11-29T05:19:02.644Z"
}
Withdraw undelegated SOL from stake accounts. Withdrawals can be made from a stake account to a Solana account (wallet) or between stake accounts.
MIME type of the request body.
application/json
MIME type of the request body.
application/json
API key for authentication.
Bearer token for authentication.
The participant name registered on the platform that corresponds to the client’s customer. If not provided, requests will be assigned to a default participant.
Participant 1
The account name registered on the platform that corresponds to the client’s customer. If not provided, requests will be assigned to a default account linked to the participant.
Participant 1_acc1
The stake account from which SOL should be withdrawn.
BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3
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.
6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX
The amount of SOL that should be withdrawn. The amount should be sent without trailing zeros.
1.2
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.
31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z
POST /v1/solana/delegators/withdraw HTTP/1.1
Host:
Accept: application/json
Content-Type: application/json
X-API-KEY: text
Authorization: text
Content-Length: 270
{
"participant": "Participant 1",
"account": "Participant 1_acc1",
"stake_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"recipient_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX",
"amount": 1.2,
"fee_payer": "31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
}
{
"stake_account_pubkey": "BvdHdA7SLDW32XR3Sm3uZpGDpNJZU3FQzGRGoSmkE1G3",
"recipient_pubkey": "6fT3SrMwTgGNWdwHv27JTmbvc8q3cKx4tAggxEX1wmnX",
"amount": 1.2,
"unsigned_tx": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0+lqa9HL7rk5GnqOh8e05Ds01fH62JTIbuQ9yko+LpbGVWb+MvfBZvlZy5xLpgVcgTJ2eI5S4ZiYkxcyxdv0DAgADBd/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/e/2Qc2wJPjPPukVhD06bwv9VOltLo6SP72QDr+o+pgTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAADaIFlGgWVF2xn6jQ5FbNW/q7opjqsQQJaSRC/6qyTQwwICAgABNAAAAACAYalHAAAAAMgAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAADAgEEdAAAAADfw3jThwAU40PGi+ivJS7LykLgQPUfAKvEfjiy53Cf3t/DeNOHABTjQ8aL6K8lLsvKQuBA9R8Aq8R+OLLncJ/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"signers": [
"G4UnzgWwzsEAJG5ATd7MGEGzjeWj4s5vXWczBE3jFeV3",
"31mRtwpfEv4GHRGSzZuqyU7XAtDne7x8BSwANgun8r2Z"
],
"created_at": "2024-11-29T05:19:02.644Z"
}
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.
The current page number requested by the client, if not specified, should be defaulted to 1.
1
The number of entries per page, if not presented in the request, should be defaulted to the maximum value of 250.
250
application/json
application/json
<API Key>
Bearer <JWT>
The network under which the stake accounts will be returned.
The participant under which the stake accounts will be returned.
The account under which the stake accounts will be returned.
List of delegator stake accounts to fetch the delegator information. A maximum of 50 entries are allowed.
POST /v1/solana/delegators HTTP/1.1
Host:
Authorization: Bearer <JWT>
Accept: application/json
Content-Type: application/json
X-API-KEY: <API Key>
Content-Length: 100
{
"network": "text",
"participant": "text",
"account": "text",
"status": "ACTIVE",
"stake_accounts": [
"text"
]
}
Sample success response payload. See Response schema below for wrapper
{
"network": "mainnet",
"page": 1,
"total": 250,
"data": {
"status": "ACTIVE",
"validator_info": {
"address": "2yoofMr4N78WPxVK8MU8Yy26dfRZbPw5WDzTRCA9uv95"
},
"stake_account": "2yoofMr4N78WPxVK8MU8Yy26dfRZbPw5WDzTRCA9uv95",
"balance_in_lamports": 1,
"balance_in_sol": 1.38,
"provision_info": {
"id": "VMP2285150508",
"created_at": "2024-09-04 10:25:24"
}
}
}
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.
The current page number requested by the client, if not specified, should be defaulted to 1.
The number of entries per page, if not presented in the request, should be defaulted to the maximum value of 250.
application/json
application/json
<API Key>
Bearer <JWT>
The network on which validators should be created. Supported values
mainnet
testnet
devnet
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.
200000
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.
200100
Denotes the granularity of rewards breakdown. The possible values are,
1
2
List of delegator stake accounts to fetch the rewards breakdown. A maximum of 50 entries are allowed.
POST /v1/solana/delegators/rewards HTTP/1.1
Host:
Authorization: Bearer <JWT>
Accept: application/json
Content-Type: application/json
X-API-KEY: <API Key>
Content-Length: 97
{
"network": "mainnet",
"start": "200000",
"end": "200100",
"rollup_type": "1",
"stake_accounts": [
"text"
]
}
Sample success response payload. See Response schema below for wrapper
{
"network": "mainnet",
"start": "100",
"end": "450",
"page": 1,
"total": 250,
"data": [
{}
]
}
The monitoring endpoint must be invoked by the client to retrieve and monitor delegator addresses (stake accounts) in the platform. Clients can send a request containing a list of the delegator addresses that require monitoring, and positions corresponding to each delegator address will be created on the platform.
application/json
application/json
<API Key>
Bearer <JWT>
The network on which validators should be created. Supported values.
mainnet
testnet
devnet
The address of the validator under which the stake account is delegating SOL.
49bf80cb-c7ca-4082-a526-8afab545cc62
A list containing the information of the delegator addresses that will be monitored on the platform.
POST /v1/solana/delegators/monitoring HTTP/1.1
Host:
Authorization: Bearer <JWT>
Accept: application/json
Content-Type: application/json
X-API-KEY: <API Key>
Content-Length: 207
{
"network": "mainnet",
"validator_address": "49bf80cb-c7ca-4082-a526-8afab545cc62",
"delegators": [
{
"stake_accounts": [
"8hyH1vCWstfPxPuoBJX6dYb3HxyzHSN765ZSVfqVBfFB"
],
"participant": "BitGo",
"account": "2268-Test"
}
]
}
{ "delegator_monitoring_reference_id":"VMP2285150508",}
No content