---
title: "Post Withdrawal Intent"
method: POST
path: "/v1/polygon/{network}/withdrawal-intents"
tags: ["Polygon"]
---

# Post Withdrawal Intent

`POST /v1/polygon/{network}/withdrawal-intents`

Creates a new unstake intent to fully withdraw a stake. It should be used only after the unbonding period has passed. If no unbond nonce is specified, transactions for all available unstakes will be returned.
Nonces are returned by [List Deactivation Intents](https://docs.blockdaemon.com/reference/getpolygondeactivationintents).

## Path parameters

- `network` 'mainnet' | 'goerli' | 'prater', required — Polygon network

## Request body

- NewWithdrawIntentPolygon — Request object to create a new withdrawal intent for Polygon.
  - `unbond_nonces` Nonce[]
  - `wallet_address` string, hex, required — Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).
  - `validator_share_address` string, hex — Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).
  - `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.
  - `token_type` 'MATIC' | 'POL' — Polygon token type

## Response `200`

Created

- PolygonWithdrawalIntentResponse — Result of a new withdrawal intent request.
  - `withdraw_intent_id` string, uuid, required — Unique idenifier for a withdrawal intent.
  - `customer_id` string, required — Unique identifier for a customer
  - `protocol` 'polygon', required — Polygon protocol
  - `network` 'mainnet' | 'goerli' | 'prater', required — Polygon network
  - `polygon` WithdrawIntentPolygon[]
    - `to` string, hex, required — Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).
    - `unsigned_transaction` string, base64, required — Generated unsigned transaction smart contract call data.
    - `unbond_nonce` integer, required — Number for one use only
    - `wallet_address` string, hex, required — Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).

## Other responses

- `400` — Invalid request.
- `401` — Unauthorized
- `500` — Internal server error

---

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