---
title: "Post Stake Intent"
method: POST
path: "/v1/polkadot/{network}/stake-intents"
tags: ["Polkadot"]
---

# Post Stake Intent

`POST /v1/polkadot/{network}/stake-intents`

Creates an unsigned transaction that will attach a Blockdaemon's proxy account to the specified customer account. This will allow Blockdaemon to nominate on behalf of the customer and to continuously optimise the nominations of the customer account in order to achieve the best possible rewards.

The attaching will take place as soon as the user signs and broadcasts the transaction to the Polkadot network.

The customer account can be a stash account or a proxy (staking or non-transfer) for a stash account.

**Example (for the Westend network):** - Submitted:
    - customer_address: 5CF33r36TUbcSz4KxXo5ApzAW9Dtf8EkfvTQppiEEd9HfAZ6
- Returned:
    - proxy_address: 5FEPMjDLQd4Yyf8Dg7WSNVWSU36T1rXCcq1ph6HkW1YpNs5e
    - unsigned_transaction: 0xa4041601008c16e19e94328985d65cb7e3245213892730dd0e841f6511478cb12f23a178330100000000

## Request body

- NewStakeIntentPolkadot — Request object to create a new Stake Intent for Polkadot.
  - `customer_address` string, base58 — Polkadot account address in [SS58 format](https://wiki.polkadot.network/docs/learn-account-advanced#address-format).
  - `controller_address` string, base58 — Polkadot account address in [SS58 format](https://wiki.polkadot.network/docs/learn-account-advanced#address-format).

## Response `200`

Created

- PolkadotStakeIntentResponse
  - `stake_intent_id` string, base58, required — Unique idenifier for a group of stakes.
  - `customer_id` string, required — Unique identifier for a customer
  - `plan_id` string — 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 to stake to validators on a shared node from the specified plan.
  - `protocol` 'polkadot', required — Polkadot protocol
  - `network` 'mainnet' | 'kusama' | 'westend', required — Coin network
  - `polkadot` StakeIntentPolkadot — Polkadot Stake Intent Response
    - `unsigned_transaction` string, base64, required — Generated Polkadot unsigned transaction for the provided stake intent details.
    - `customer_address` string, base58 — Polkadot account address in [SS58 format](https://wiki.polkadot.network/docs/learn-account-advanced#address-format).
    - `controller_address` string, base58 — Polkadot account address in [SS58 format](https://wiki.polkadot.network/docs/learn-account-advanced#address-format).
    - `proxy_address` string, base58, required — Polkadot account address in [SS58 format](https://wiki.polkadot.network/docs/learn-account-advanced#address-format).

## Other responses

- `400` — Invalid request.
- `401` — Unauthorized
- `500` — Internal server error
- `503` — Insufficient validators available to process Stake Intent request

---

[API](https://skmtc.dev/blockdaemon/apis/staking-api.md) · [All operations](https://skmtc.dev/blockdaemon/apis/staking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/blockdaemon/staking-api/revisions/f94e296a08a3/schema)
