---
updatedAt: 2026-05-20T06:32:19.000Z
---

Fetch the complete documentation index at: https://docs.blockdaemon.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Post Withdrawal Intent

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

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0.0",
    "title": "Staking API",
    "description": "The Blockdaemon Staking API simplifies and streamlines institutional cryptocurrency staking. The API allows developers to interact with blockchain networks and perform various staking-related operations, such as delegating and undelegating tokens, in a single, unified interface.\n\nWith the Staking API, you can quickly and easily build and deploy applications that automate staking activities and increase efficiency in your blockchain operations.",
    "contact": {
      "name": "Blockdaemon",
      "email": "info@blockdaemon.com",
      "url": "https://blockdaemon.com"
    },
    "x-logo": {
      "url": "https://assets-global.website-files.com/633c5e06513fa35f3391a5f9/645d33beb6fa65f6cfb95eb8_BD%20Logo%20Stack%20-%20Purple.svg",
      "backgroundColor": "#fafafa",
      "altText": "Blockdaemon logo"
    }
  },
  "x-readme": {
    "explorer-enabled": false
  },
  "servers": [
    {
      "url": "https://svc.blockdaemon.com/boss"
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "description": "When signing up for a staking account, you are provided with an API key.\n\nTo authenticate a Staking API request, pass your API key in the `X-API-Key` header.",
        "type": "apiKey",
        "in": "header",
        "name": "X-API-KEY"
      }
    },
    "parameters": {
      "PolygonNetwork": {
        "name": "network",
        "in": "path",
        "description": "Polygon network",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/PolygonNetwork"
        }
      }
    },
    "responses": {
      "InternalServerError": {
        "description": "Internal server error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "InvalidRequest": {
        "description": "Invalid request.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "Error response envelope",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Error code",
                  "example": 400
                },
                "message": {
                  "type": "string",
                  "description": "Error Message",
                  "example": "Detailed human-readable diagnostic message regarding any invalid request parameters"
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Header 'X-API-Key' missing.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UnauthorizedError"
            }
          }
        }
      }
    },
    "schemas": {
      "CommonWithdrawalResponse": {
        "type": "object",
        "required": [
          "withdraw_intent_id",
          "customer_id"
        ],
        "properties": {
          "withdraw_intent_id": {
            "$ref": "#/components/schemas/WithdrawIntentId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/CustomerId"
          }
        }
      },
      "CustomerId": {
        "type": "string",
        "description": "Unique identifier for a customer",
        "example": "SatoshiNakamoto-xUYJbPw9hw",
        "minimum": 1
      },
      "Error": {
        "type": "object",
        "description": "Error response envelope",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "Error code",
            "example": 500
          },
          "message": {
            "type": "string",
            "description": "Error Message",
            "example": "A descriptive error message"
          }
        }
      },
      "EthereumAddress": {
        "type": "string",
        "description": "Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).",
        "format": "hex",
        "pattern": "^0x[a-fA-F0-9]{40}$",
        "example": "0x00000000219ab540356cBB839Cbe05303d7705Fa"
      },
      "NewWithdrawIntentPolygon": {
        "type": "object",
        "description": "Request object to create a new withdrawal intent for Polygon.",
        "required": [
          "wallet_address"
        ],
        "properties": {
          "unbond_nonces": {
            "$ref": "#/components/schemas/UnbondNonces"
          },
          "wallet_address": {
            "$ref": "#/components/schemas/EthereumAddress",
            "description": "An array of unbond nonces."
          },
          "validator_share_address": {
            "$ref": "#/components/schemas/EthereumAddress"
          },
          "plan_id": {
            "$ref": "#/components/schemas/PlanId"
          },
          "token_type": {
            "$ref": "#/components/schemas/PolygonTokenType"
          }
        }
      },
      "Nonce": {
        "type": "integer",
        "description": "Number for one use only",
        "example": 1
      },
      "PolygonTokenType": {
        "type": "string",
        "description": "Polygon token type",
        "enum": [
          "MATIC",
          "POL"
        ],
        "default": "POL"
      },
      "PlanId": {
        "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 to stake to validators on a shared node from the specified plan.",
        "example": "plan_Wgx98Rbi8nQuL9ddn3mTk1"
      },
      "PolygonNetwork": {
        "type": "string",
        "description": "Polygon network",
        "enum": [
          "mainnet",
          "goerli",
          "prater"
        ]
      },
      "UnauthorizedError": {
        "type": "object",
        "description": "Error response envelope",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "Error code",
            "example": 401
          },
          "message": {
            "type": "string",
            "description": "Error Message",
            "example": "A human-readable diagnostic message detailing any authorization failure"
          }
        }
      },
      "UnbondNonces": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Nonce"
        }
      },
      "UnsignedTransaction": {
        "type": "string",
        "format": "base64",
        "description": "Generated unsigned transaction smart contract call data.",
        "example": "0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120087fed394b43849eebef1e88873cd9efdbe33136656e5148e659b8b2f33625d40000000000000000000000000000000000000000000000000000000000000030b81748644e23c4d950f9dd709f3eb73d5eacd9657997e1d9dde7c4ebd8a6519ecb9d0a7fb603d3b68e023278f9650122000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c509bb854c526af4cee5e037089f7aa8e091d8870000000000000000000000000000000000000000000000000000000000000060b36b79b4b206c0310472c117fa40c05342b5dc3e89f98f42c9da3ce6450d4c603cad55248017fd4eca3ab277cca64569193e4d487f5b2ea78a2bcdc81926c313c05842a3af318967a775783bba22519e8b8886587efa99aa7dab5784f792b187\n"
      },
      "WithdrawIntentPolygon": {
        "type": "object",
        "required": [
          "to",
          "unsigned_transaction",
          "unbond_nonce",
          "wallet_address"
        ],
        "properties": {
          "to": {
            "$ref": "#/components/schemas/EthereumAddress"
          },
          "unsigned_transaction": {
            "$ref": "#/components/schemas/UnsignedTransaction"
          },
          "unbond_nonce": {
            "$ref": "#/components/schemas/Nonce"
          },
          "wallet_address": {
            "$ref": "#/components/schemas/EthereumAddress"
          }
        }
      },
      "WithdrawIntentId": {
        "type": "string",
        "format": "uuid",
        "description": "Unique idenifier for a withdrawal intent.",
        "example": "4ba06e89-8c29-483e-ac36-318de5aa7364"
      },
      "PolygonProtocol": {
        "type": "string",
        "description": "Polygon protocol",
        "enum": [
          "polygon"
        ]
      },
      "PolygonWithdrawalIntentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonWithdrawalResponse"
          },
          {
            "type": "object",
            "description": "Result of a new withdrawal intent request.",
            "required": [
              "protocol",
              "network"
            ],
            "properties": {
              "protocol": {
                "$ref": "#/components/schemas/PolygonProtocol"
              },
              "network": {
                "$ref": "#/components/schemas/PolygonNetwork"
              },
              "polygon": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WithdrawIntentPolygon"
                }
              }
            }
          }
        ]
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/v1/polygon/{network}/withdrawal-intents": {
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/PolygonNetwork"
          }
        ],
        "summary": "Post Withdrawal Intent",
        "operationId": "postPolygonWithdrawalIntent",
        "tags": [
          "Polygon"
        ],
        "description": "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.\nNonces are returned by [List Deactivation Intents](https://docs.blockdaemon.com/reference/getpolygondeactivationintents).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewWithdrawIntentPolygon"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolygonWithdrawalIntentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Polygon",
      "description": "Polygon endpoints"
    }
  ]
}
```