Creates a new stake account and returns a delegating transaction to sign.

Minimum stake amount is 1.1 SOL.

For devnet, use `DaRwg7fkGs6Dnbh2cwPwmcsottXCuLBafCAJuQKySZq7` as the vote account.

Supports both standard recent blockhash nonces (default) and durable nonces (more information [here](https://solana.com/docs/core/transactions/durable-nonces)):

- For standard recent blockhash nonces, leave nonce_account and nonce_authority empty.
- For durable nonces, define a nonce_account.

### Parameters

| Parameter         | Type                     | Required | Description                                                                                                        |
|-------------------|--------------------------|----------|--------------------------------------------------------------------------------------------------------------------|
| funding_account    | string                   | required | Pubkey of the funding account.                                                                                     |
| vote_account       | string                   | required | Pubkey of the vote account.                                                                                       |
| amount_sol         | number                   | required | Amount to stake in SOL.                                                                                           |
| network            | string                   | required | Enum options: `mainnet`, `testnet`, `devnet`.                                                                     |
| nonce_account      | string  null        | optional | Pubkey of the nonce account. Enables offline signing without the 60–90s blockhash expiry.                        |
| nonce_authority    | string  null        | optional | Pubkey of the account authorized to advance the nonce. Defaults to the fee payer if omitted.

### Response
#### 201 Staking transaction created

```json
{
  "data": {
    "unsigned_transaction_serialized": "020000000000...",
    "unsigned_tx_serialized_hex": "020000000000...",
    "unsigned_tx_serialized_base64": "MDIwMDAwMDA...",
    "signing_payload": "0200080a5ac99...",
    "last_valid_block_height": 291621448,
    "stake_account": "tfUTBG4BH5Cg9PdhNHiohL1fjXWkEyi6S9qZsBdT2HLQ",
    "network": "devnet",
    "nonce_value": "GNP8nFAjKFBxL6Bfmti9gBGxCRF7gMaGmEiKfJKpJAaG",
    "is_durable_nonce": true
  }
}
```

#### Error Codes
- `400` Invalid request
- `422` Unprocessable Content

### Example Curl Request

```bash
curl --request POST \
     --url https://api.figment.io/solana/stake \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-api-key: your-api-key-here' \
     --data '{
  "network": "mainnet"
}'
```
