# Request object to create a new Stake Intent for NEAR Protocol

## Parameters

### network
- **Type**: string  
- **Required**: Yes  
- **Allowed values**: `mainnet`, `testnet`, `localnet`

### amount
- **Type**: string  
- **Required**: Yes  
- **Pattern**: `^[1-9]\d+$`  
- **Description**: Amount of yoctoNEAR to stake. 1 NEAR = 1e24 yoctoNEAR.

### wallet_address
- **Type**: string  
- **Required**: Yes  
- **Pattern**: `^([a-km-zA-HJ-NP-Z1-9]{22,44})|((([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+)$`  
- **Description**: Account to stake from (can be either [named account or implicit account](https://docs.near.org/concepts/basics/accounts/account-id/))

### public_key
- **Type**: string  
- **Required**: Yes  
- **Pattern**: `^ed25519:[a-km-zA-HJ-NP-Z1-9]{22,44}$`  
- **Description**: Must be the public key of the private key that will be used to sign the returned transaction. The public key must also be added as [FullAccess](https://docs.near.org/concepts/basics/accounts/access-keys#full-access-keys) key to the `wallet_address` account.

### to
- **Type**: string  
- **Pattern**: `^([a-km-zA-HJ-NP-Z1-9]{22,44})|((([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+)$`  
- **Description**: Specifies validator to delegate to.

### 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.

## Responses

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

## Example CURL Request

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