# Solana Staking API

Solana staking APIs provide developers with powerful tools to interact with the Solana blockchain's staking functionality. These APIs allow users to delegate SOL tokens to validators, monitor staking rewards, track validator performance, and manage stake accounts programmatically. Ideal for building wallets, staking dashboards, or automated staking strategies, these APIs offer fast, scalable access to staking data and operations on one of the highest-performance blockchains in the ecosystem.

## SolanaStakeIntent

<mark style="color:green;">`POST`</mark> `SolanaStakeIntent`

Returns an unsigned transaction that can be used to delegate your tokens to the validator specified in the request.

| Name            | Value              |
| --------------- | ------------------ |
| `Content-Type`  | `application/json` |
| `Authorization` | `<API Key>`        |

**Body**

````graphql
### 🧪 Example Mutation

```graphql
mutation SolanaStakeIntent {
    SolanaStakeIntent(
        input: {
            network: "devnet",               # String!
            amount: "1000000000",            # String!
            delegator_address: "5xo1...",    # String!
            staking_authority: "5xo1...",    # String!
            withdrawal_authority: "5xo1...", # String
            plan_id: "plan_Wgx..."           # String
        }
    ) {
        ... on StakingResponse {
            stake_intent_id
            customerId
            network
            plan_id
            protocol
            solana {
                amount
                expiration_time
                stake_account_public_key
                stake_id
                staking_authority
                unsigned_transaction
                validator_public_key
                withdrawal_authority
            }
        }
        ... on ErrorResponse {
            __typename
            code
            message
        }
    }
}
````

**Response**

{% tabs %}
{% tab title="200" %}

```ssml
{
    "data": {
        "SolanaStakeIntent": {
            "stake_intent_id": "stake_intent_Wgx98Rbi8nQuL9ddn3mTk1",
            "customer_id": "SatoshiNakamoto-xUYJbPw9hw",
            "plan_id": "plan_Wgx98Rbi8nQuL9ddn3mTk1",
            "protocol": "solana",
            "network": "mainnet",
            "solana": {
                "stake_id": "stake_Wgx98Rbi8nQuL9ddn3mTk1",
                "amount": "100",
                "validator_public_key": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c",
                "staking_authority": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj",
                "withdrawal_authority": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c",
                "stake_account_public_key": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj",
                "unsigned_transaction": "0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120087fed394b43849eebef1e88873cd9efdbe33136656e5148e659b8b2f33625d40000000000000000000000000000000000000000000000000000000000000030b81748644e23c4d950f9dd709f3eb73d5eacd9657997e1d9dde7c4ebd8a6519ecb9d0a7fb603d3b68e023278f9650122000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c509bb854c526af4cee5e037089f7aa8e091d8870000000000000000000000000000000000000000000000000000000000000060b36b79b4b206c0310472c117fa40c05342b5dc3e89f98f42c9da3ce6450d4c603cad55248017fd4eca3ab277cca64569193e4d487f5b2ea78a2bcdc81926c313c05842a3af318967a775783bba22519e8b8886587efa99aa7dab5784f792b187\n",
                "expiration_time": 1689939023
            }
        }
    }
}
```

{% endtab %}
{% endtabs %}

## SolanaDeactivateIntent

````graphql
### 🧪 Example Mutation

```graphql
mutation SolanaDeactivateIntent {
    SolanaDeactivateIntent(
        input: {
            network: "devnet",              # String!
            amount: "1000000000",           # String!
            withdrawal_authority: "5xo1..." # String
            staking_authority: "5xo1..."    # String
            delegator_address: "5xo1..."    # String
        }
    ) {
        ... on DeactivateResponse {
            deactivate_intent_id
            customerId
            protocol
            network
            walletAddress
            solana {
                total_deactivated_amount
                walletAddress
                deactivates {
                    unsigned_transaction
                    stake_account_authority
                    stake_account_address
                    withdrawal_authority
                    stake_id
                    amount
                    expiration_time
                }
                splits {
                    unsigned_transaction
                    stake_account_authority
                    new_stake_account_address
                    new_stake_id
                    splitted_stake_account_address
                    splitted_stake_id
                    amount
                }
            }
        }
        ... on ErrorResponse {
            code
            message
        }
    }
}
````

**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
    "data": {
        "SolanaDeactivateIntent": {
            "deactivate_intent_id": "4ba06e89-8c29-483e-ac36-318de5aa7364",
            "customer_id": "SatoshiNakamoto-xUYJbPw9hw",
            "protocol": "solana",
            "network": "mainnet",
            "solana": {
                "deactivates": [
                    {
                        "unsigned_transaction": "0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120087fed394b43849eebef1e88873cd9efdbe33136656e5148e659b8b2f33625d40000000000000000000000000000000000000000000000000000000000000030b81748644e23c4d950f9dd709f3eb73d5eacd9657997e1d9dde7c4ebd8a6519ecb9d0a7fb603d3b68e023278f9650122000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c509bb854c526af4cee5e037089f7aa8e091d8870000000000000000000000000000000000000000000000000000000000000060b36b79b4b206c0310472c117fa40c05342b5dc3e89f98f42c9da3ce6450d4c603cad55248017fd4eca3ab277cca64569193e4d487f5b2ea78a2bcdc81926c313c05842a3af318967a775783bba22519e8b8886587efa99aa7dab5784f792b187\n",
                        "stake_account_authority": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj",
                        "stake_account_address": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj",
                        "withdrawal_authority": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj",
                        "stake_id": "stake_Wgx98Rbi8nQuL9ddn3mTk1",
                        "amount": "100",
                        "expiration_time": 1689939023
                    }
                ],
                "splits": [
                    {
                        "unsigned_transaction": "0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120087fed394b43849eebef1e88873cd9efdbe33136656e5148e659b8b2f33625d40000000000000000000000000000000000000000000000000000000000000030b81748644e23c4d950f9dd709f3eb73d5eacd9657997e1d9dde7c4ebd8a6519ecb9d0a7fb603d3b68e023278f9650122000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c509bb854c526af4cee5e037089f7aa8e091d8870000000000000000000000000000000000000000000000000000000000000060b36b79b4b206c0310472c117fa40c05342b5dc3e89f98f42c9da3ce6450d4c603cad55248017fd4eca3ab277cca64569193e4d487f5b2ea78a2bcdc81926c313c05842a3af318967a775783bba22519e8b8886587efa99aa7dab5784f792b187\n",
                        "stake_account_authority": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj",
                        "new_stake_account_address": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj",
                        "new_stake_id": "stake_Wgx98Rbi8nQuL9ddn3mTk1",
                        "splitted_stake_account_address": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj",
                        "splitted_stake_id": "stake_Wgx98Rbi8nQuL9ddn3mTk1",
                        "amount": "100"
                    }
                ],
                "total_deactivated_amount": "100"
            },
            walletAddress: String
        }
    }
}
```

{% endtab %}
{% endtabs %}

## SolanaCancelDeactivateIntent

<mark style="color:green;">`POST`</mark> `SolanaCancelDeactivateIntent`\
\
Cancels a previously issued deactivation intent by specifying its ID.

**Body**

````
### 🧪 Example Mutation

```graphql
mutation SolanaCancelDeactivateIntent {
    SolanaCancelDeactivateIntent(
        input: {
            network: "devnet",                                           # String!
            deactivate_intent_id: "204ce7fe-0bab-4a3b-b98b-d082f5770a6c" # String!
    }
  ) {
    code
    message
  }
}


````

**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
    data: {
        SolanaCancelDeactivateIntent: {
            code: 500,                          # Number
            message: "Invalid public key input" # String
    }
  }
}
```

{% endtab %}

{% tab title="500" %}

```graphql
{
  data: {
    ErrorResponse: {
      __typename: "ErrorResponse",        # String
      code: 500,                          # Number
      message: "Invalid public key input" # String
    }
  }
}



```

{% endtab %}
{% endtabs %}

## SolanaWithdrawalIntent

\ <mark style="color:green;">`POST`</mark> `SolanaWithdrawalIntent`

This endpoint is used to request withdrawal transactions that will be executed against available deactivated accounts. If you request more funds than are currently unlocked, the API will return an error indicating the maximum possible withdrawal.

You will receive at least one unsigned transaction (potentially multiple) that needs to be signed in order to complete the withdrawal.\
\
**Body**

````graphql
### 🧪 Example Mutation

```graphql
mutation SolanaWithdrawalIntent {
    SolanaWithdrawalIntent(
        input: {
            network: "devnet"               # String!
            amount: "1000000000"            # String!
            withdrawal_address: "5xo1...",  # String!
            delegator_address: "5xo1..."    # String!
            withdrawal_authority: "5xo1..." # String!
        }
    ) {
        ... on WithdrawalIntentResponse {
            withdrawal_intent_id
            customerId
            protocol
            network
            solana {
                total_withdraw_amount
                withdraws {
                    unsigned_transaction
                    withdrawal_authority_public_key
                    stake_account_address
                    stake_id
                    amount
                    expiration_time
                }
            }
        }
        ... on ErrorResponse {
            code
            message
        }
    }
}
````

**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
    data: {
        SolanaWithdrawalIntent{
            withdrawal_intent_id, # String
            customerId, # String
            protocol, # String
            network, # String
            solana {
                total_withdraw_amount, # String!
                withdraws {
                    unsigned_transaction, # String!
                    withdrawal_authority_public_key, # String!
                    stake_account_address, # String!
                    stake_id, # String!
                    amount, # String!
                    expiration_time, # Int!
                }
            }
        }
    }
}
```

{% endtab %}

{% tab title="500" %}

```graphql
{
    data: {
        ErrorResponse: {
            __typename: "ErrorResponse",        # String!
            code: 500,                          # Int!
            message: "Invalid public key input" # String!
        }
    }
}
```

{% endtab %}
{% endtabs %}

## SolanaCancelWithdrawlIntent

<mark style="color:green;">`POST`</mark> `SolanaCancelWithdrawalIntent`&#x20;

Cancels a previously issued withdrawal intent by specifying its ID.\
\
**Body**

````graphql
### 🧪 Example Mutation

```graphql
mutation SolanaCancelWithdrawalIntent {
    SolanaCancelWithdrawalIntent(
        input: {
            network: 'devnet', # String!,
            intent_id: "..."   # String!
        }
    ) {
        code
        message
    }
}
````

**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
    data: {
        SolanaCancelWithdrawalIntent{
            code,   # Int!
            message # String!
        }
    }
}
```

{% endtab %}
{% endtabs %}

## SolanaGetStakeAccounts

`POST` `SolanaGetStakeAccounts`\
\
Retrieve all of the stake accounts.\
\
**Body**

<pre class="language-graphql"><code class="lang-graphql">🧪 Example Query

<strong>query SolanaGetStakeAccounts {
</strong>    SolanaGetStakeAccounts(
        input: {
            network: null,
            walletAddress: null,
            page: null,
            per_page: null
        }
    ) {
        ... on Error {
            code
            message
        }
        ... on GetStakeAccountsResponse {
            stake_accounts {
                status
                amount
                stake_account_address
                stake_account_authority
                withdrawal_authority
                delegator_address
                vote_account
                network
            }
            pagination {
                page
                per_page
                total
            }
        }
    }
}
</code></pre>

**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
    data: {
        SolanaGetStakeAccounts: {
    	    stake_accounts: {
                status, 		 # String
		amount,			 # String
		stake_account_address, 	 # String
		stake_account_authority, # String
		withdrawal_authority,	 # String
		delegator_address, 	 # String
		vote_account, 		 # String
		network, 		 # String
            }
	    pagination: {
                page,		         # Int
                per_page,		 # Int
		total		         # Int
	    }
        }
    }
}
```

{% endtab %}

{% tab title="500" %}

```graphql
{
  data: {
    ErrorResponse: {
      __typename: "ErrorResponse",
      code: Int!,
      message: String!
    }
  }
}


```

{% endtab %}
{% endtabs %}

## SolanaGetDeactivationIntents

<mark style="color:green;">`POST`</mark> `SolanaGetDeactivateIntents`

Retrieve a list of all outstanding deactivation intents.\
\
**Body**

````markdown
### 🧪 Example Query

```graphql
query SolanaGetDeactivationIntents{
  SolanaGetDeactivationIntents(input: {network: "devnet", walletAddress: ""}) {
    ... on RetrieveDeactivationResponse {
      protocol
      network
      customerId
      solana {
        deactivates {
          amount
          expiration_time
          stake_account_address
          stake_account_authority
          stake_id
          unsigned_transaction
          withdrawal_authority
        }
        splits {
          amount
          new_stake_account_address
          new_stake_id
          splitted_stake_account_address
          splitted_stake_id
          stake_account_authority
          unsigned_transaction
        }
        total_deactivated_amount
        walletAddress
      }
    }
    ... on ErrorResponse {
      __typename
      code
      message
    }
  }
}
````

**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
  data: {
    "SolanaGetDeactivationIntents": {
            "protocol": "solana",
            "network": "devnet",
            "customerId": "128554f4-0071-7072-01f8-be5c70e48162",
            "solana": [ 
                {
                    "deactivates": [
                        {
                            "amount": "100000000",
                            "expiration_time": 1746530154,
                            "stake_account_address": "DunL5cf8DUyC6F8c67EsfJPdbNWixaX9y6yRapiCHwLV",
                            "stake_account_authority": "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU",
                            "stake_id": "8c24f524-22d0-4af2-af3a-23b6c3b430d2",
                            "unsigned_transaction": "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020485a99849ac66f619f6d272aa6f58d829072be14f9f2c2b2e329b32547f205f93bfd1b2e4d7c0993647351dbde5da9246d7028ca59865525589970468c4992f1206a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000006a7d51718c774c928566398691d5eb68b5eb8a39b4b6d5c73555b2100000000230947ecc06cda78f79713dc81a433c90e0ab2162940336a312d47c52df280780102030103000405000000",
                            "withdrawal_authority": "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU"
                        }
                    ],
                    "splits": [
                        {
                            "amount": "100000000",
                            "new_stake_account_address": "DunL5cf8DUyC6F8c67EsfJPdbNWixaX9y6yRapiCHwLV",
                            "new_stake_id": "2c249579-980b-4c1d-89dd-f5d3a1bd7f21",
                            "splitted_stake_account_address": "J5zhkQwQiJoTYtnCy39o1Ue4yBJS7cSJKfvPe7DHBo8k",
                            "splitted_stake_id": "1b497871-54ec-46e0-a2ae-764595faefeb",
                            "stake_account_authority": "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU",
                            "unsigned_transaction": "02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c2a2dc27221a592a06914d6f39cc4cabef7dc398bce118176e9aaa560fdc60ec5cddea3350f7dde45265fb42963e6b09122b3400401da37ee24c924d264c80c0200020585a99849ac66f619f6d272aa6f58d829072be14f9f2c2b2e329b32547f205f93bfd1b2e4d7c0993647351dbde5da9246d7028ca59865525589970468c4992f12fdde3ed797b92766c098b1224f3c1e9fa798d03ad06a9d06417ba6ee98b6b249000000000000000000000000000000000000000000000000000000000000000006a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc000000000c06019e387771aee679c5adf2a00acd2aaeafab6f8340e6d0e8e100c9f3178a60203020001340000000080d5220000000000c80000000000000006a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000004030201000c0300000000e1f50500000000"
                        }
                    ],
                    "total_deactivated_amount": "100000000",
                    "walletAddress": null
                },
                {
                    "deactivates": [
                        {
                            "amount": "1000000000",
                            "expiration_time": 1746525362,
                            "stake_account_address": "AARXFqEwHHfmo9AYDd6KCm2ysghTJN8bvKuhEgH4QGt7",
                            "stake_account_authority": "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU",
                            "stake_id": "2d56cbaf-a9aa-4633-b6ad-f0ec406b6406",
                            "unsigned_transaction": "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020485a99849ac66f619f6d272aa6f58d829072be14f9f2c2b2e329b32547f205f93882322e6ffeb183cc5484db6a2e8af597abc630e4aff0f968e7036e34e3927b806a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000006a7d51718c774c928566398691d5eb68b5eb8a39b4b6d5c73555b2100000000d4732682e0ccb82122e84c76f8412241e75814bb1896d2fa55cc8ee9ecb879920102030103000405000000",
                            "withdrawal_authority": "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU"
                        }
                    ],
                    "splits": [
                        {
                            "amount": "1000000000",
                            "new_stake_account_address": "AARXFqEwHHfmo9AYDd6KCm2ysghTJN8bvKuhEgH4QGt7",
                            "new_stake_id": "87fd69d2-27a7-4f72-8c96-9bf33361ff94",
                            "splitted_stake_account_address": "FNCWPTnfS5oTz497ro21ppXx2HuxdBJmvZRv2ecfWAfF",
                            "splitted_stake_id": "dbd96604-66ea-4f0a-8543-53f4b5111c4a",
                            "stake_account_authority": "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU",
                            "unsigned_transaction": "020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049617870a4c5030e3e28d04dfd475b77eed484db13d709114b41c7278b6c1a3ab7518fcb6d259b9aabe764a79059f9a496852d306773cdaf0f14e459c60af4060200020585a99849ac66f619f6d272aa6f58d829072be14f9f2c2b2e329b32547f205f93882322e6ffeb183cc5484db6a2e8af597abc630e4aff0f968e7036e34e3927b8d571d31909f5c53ec6a22e841010f5e23bf53e6d7088ccaec910feb7b2c17976000000000000000000000000000000000000000000000000000000000000000006a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc000000000edecda83fe27879b86775fedfcbe28504592464677ed0abe093fb8869c12db340203020001340000000080d5220000000000c80000000000000006a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000004030201000c0300000000ca9a3b00000000"
                        }
                    ],
                    "total_deactivated_amount": "1000000000",
                    "walletAddress": null
                },
                
            ]
        }
  }
}
```

{% endtab %}

{% tab title="500" %}

```graphql
{
  data: {
    ErrorResponse: {
      __typename: "ErrorResponse",        # String
      code: 500,                          # Number
      message: "Invalid public key input" # String
    }
  }
}
```

{% endtab %}
{% endtabs %}

## SolanaGetDeactivatableAmount

<mark style="color:green;">`POST`</mark> `SolanaGetDeactivatableAmount`

Returns the total staked amount that can be deactivated across all wallets of\
the user. If any prior deactivation intent was left unsigned, it will be automatically canceled.

You can specify the optional `wallets` parameter to get the total deactivatable amount in specific wallets.

**Body**

````markdown
### 🧪 Example Query

```graphql
query SolanaGetDeactivatableAmount{
    SolanaGetDeactivatableAmount(
    input: {network: "devnet", delegator_address: "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU", staking_authority: "", withdrawal_authority: ""}
  ) {
    ... on GetDeactivatableResponse {
      protocol
      network
      amount
      currency
    }
    ... on ErrorResponse {
      __typename
      code
      message
    }
  }
}


````

**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
  "data": {
        "SolanaGetDeactivatableAmount": {
            "protocol": "solana",
            "network": "devnet",
            "amount": "2.113002137",
            "currency": "SOL"
        }
    }
}
```

{% endtab %}

{% tab title="500" %}

```graphql
{
  data: {
    ErrorResponse: {
      __typename: "ErrorResponse",        # String
      code: 500,                          # Number
      message: "Invalid public key input" # String
    }
  }
}
```

{% endtab %}
{% endtabs %}

## SolanaGetWithdrawableAmount

<mark style="color:green;">`POST`</mark> `SolanaGetWithdrawableAmount`

Returns total amount that can be withdrawn across all wallets of\
the user. If any prior withdrawal intent was left unsigned, it will be automatically canceled.

You can specify the optional `wallets` parameter to get the total\
withdrawable amount in specific wallets.\
\
**Body**

<pre class="language-markdown"><code class="lang-markdown"><strong>### 🧪 Example Query
</strong>
```graphql
query SolanaGetWithdrawableAmount{
   SolanaGetWithdrawableAmount(
    input: {network: "devnet", delegator_address: "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU", withdrawal_authority: "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU"}
  ) {
    ... on WithdrawableAmount {
      __typename
      amount
      currency
      network
      protocol
    }
    ... on Error {
      __typename
      code
      message
    }
  }
}
</code></pre>

\
**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
  data: {
    "SolanaGetWithdrawableAmount": {
            "__typename": "WithdrawableAmount",
            "amount": "0",
            "currency": "SOL",
            "network": "devnet",
            "protocol": "solana"
        }
  }
}
```

{% endtab %}

{% tab title="500" %}

```graphql
{
  data: {
    ErrorResponse: {
      __typename: "ErrorResponse",        # String
      code: 500,                          # Number
      message: "Invalid public key input" # String
    }
  }
}
```

{% endtab %}
{% endtabs %}

## SolanaListWithdrawalIntents

<mark style="color:green;">`POST`</mark> `SolanaListWithdrawalIntents`

Retrieve a list of all outstanding withdrawal intents\
\
**Body**

````markdown
### 🧪 Example Query

```graphql
query SolanaListWithdrawalIntents{
 SolanaListWithdrawalIntents(input: {network: "devnet"}) {
    ... on ListWithdrawalIntentsResponse {
      customerId
      network
      protocol
      solana {
        customerId
        network
        protocol
        solana {
          total_withdraw_amount
          withdraws {
            amount
            expiration_time
            stake_account_address
            stake_id
            unsigned_transaction
            withdrawal_authority_public_key
          }
        }
        withdrawal_intent_id 
      }
    }
    ... on ErrorResponse {
      __typename
      code
      message
    }
  }
}
````

**Response**

{% tabs %}
{% tab title="200" %}

```graphql
{
  data: {
    "SolanaListWithdrawalIntents": {
            "customerId": "128554f4-0071-7072-01f8-be5c70e48162",
            "network": "devnet",
            "protocol": "solana",
            "solana": [
                {
                    "customerId": "128554f4-0071-7072-01f8-be5c70e48162",
                    "network": "devnet",
                    "protocol": "solana",
                    "solana": {
                        "total_withdraw_amount": "1002282180",
                        "withdraws": [
                            {
                                "amount": "1002282180",
                                "expiration_time": 1746529533,
                                "stake_account_address": "FNCWPTnfS5oTz497ro21ppXx2HuxdBJmvZRv2ecfWAfF",
                                "stake_id": "stake_urryb5nsef",
                                "unsigned_transaction": "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100030585a99849ac66f619f6d272aa6f58d829072be14f9f2c2b2e329b32547f205f93d571d31909f5c53ec6a22e841010f5e23bf53e6d7088ccaec910feb7b2c1797606a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000006a7d51718c774c928566398691d5eb68b5eb8a39b4b6d5c73555b210000000006a7d517193584d0feed9bb3431d13206be544281b57b8566cc5375ff4000000f4aa59e2c5fd9459af399e0602506cac45a081ef8baabaddfd029b0303d1edee01020501000304000c04000000c49cbd3b00000000",
                                "withdrawal_authority_public_key": "9zmDS8uYXSLaDCV9gqyPQeHRLPaZvFJV9dN6oTFzCwVU"
                            }
                        ]
                    },
                    "withdrawal_intent_id": "8ddac346-820e-4120-90e4-fd08fa1aea3b"
                },
               ]
        }
  }
}
```

{% endtab %}

{% tab title="500" %}

```graphql
{
  data: {
    ErrorResponse: {
      __typename: "ErrorResponse",        # String
      code: 500,                          # Number
      message: "Invalid public key input" # String
    }
  }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.solsticestaking.io/solana-staking-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
