# Network

- **network**  
  *Type*: string  
  *Enum*:  
  - Allowed: `mainnet`, `testnet`

# Individual Solana Stake

- **amount**  
  *Type*: string  
  *Required*: Yes  
  *Pattern*: `^[1-9]\d+$`  
  *Description*: The amount of funds you want to stake (in Lamports)

- **validator_address**  
  *Type*: string  
  *Pattern*: `^[1-9A-HJ-NP-Za-km-z]{44}$`  
  *Description*: The public address of the validator node that you intend to delegate your tokens to

- **delegator_address**  
  *Type*: string  
  *Required*: Yes  
  *Pattern*: `^[1-9A-HJ-NP-Za-km-z]{44}$`  
  *Description*: The address sending the funds to be staked

- **staking_authority**  
  *Type*: string  
  *Pattern*: `^[1-9A-HJ-NP-Za-km-z]{44}$`  
  *Description*: The stake authority can be considered the manager of the stake account. It is used to sign transactions for the following operations but doesn’t have control over the funds:
  - Delegating stake
  - Deactivating the stake delegation
  - Splitting the stake account (creating a new stake account with a portion of the funds)
  - Merging two stake accounts into one
  - Setting a new stake authority
  - **Note:** When not specified, this will default to the delegator_address

- **withdrawal_authority**  
  *Type*: string  
  *Pattern*: `^[1-9A-HJ-NP-Za-km-z]{44}$`  
  *Description*: The withdraw authority is used to sign transactions for the following operations:
  - Withdrawing an un-delegated stake into a wallet address
  - Setting a new withdrawal authority
  - Setting a new stake authority (thus, the withdrawal authority is the ultimate owner of the account)
  - **Note:** When not specified, this will default to the delegator_address

- **plan_id**  
  *Type*: string  
  *Description*: This feature enables you to stake to validators from the specified plan(s). When no plan id is specified, validators across all plans that match the API route will be available for staking. If it is a shared plan, you can stake to validators on a shared node from the specified plan.

- **Idempotency-Key**  
  *Type*: uuid  
  *Description*: The unique idempotency key for this request

# HTTP Status Codes

- **200**  
  *Description*: Created
- **400**  
  *Description*: Invalid request.
- **401**  
  *Description*: Header 'X-API-Key' missing.
- **500**  
  *Description*: Internal server error.
- **503**  
  *Description*: Insufficient validators available to process Stake Intent request

# Example Request

```bash
curl --request POST \
     --url https://svc.blockdaemon.com/boss/v1/solana/mainnet/stake-intents \
     --header 'accept: application/json' \
     --header 'content-type: application/json'
```

# Example Responses

- `200`
- `400`
- `401`
- `500`
- `503`

Updated 2 months ago.
