---
updatedAt: 2026-05-20T06:31:54.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 Deactivation Intent

Returns an unsigned transaction to deactivate a certain amount of stake.

The transaction will remove the specified amount from the staked amount. If an amount is not specified, the default is all staked amount. This will take place as soon as the user signs and broadcasts the transaction to the Polkadot network.

Please note that this amount will remain in the "staking" section of the account - it can be staked elsewhere, but cannot be transferred freely to another account. To move it to the "general" section of the account, the user will need to also create an withdrawal request.

If the amount is all of the stake controlled by this customer account ("full deactivation"), the transaction will also disconnect the Blockdaemon proxy account from this customer account. Please note that in this case all existing nominations of the customer account will remain active. Blockdaemon will immediately cease the further management of nominations even if the deactivation transaction is not broadcasted by the user to the network.

**Full deactivation example (for the Westend network):** - Submitted:
    - customer_address: 5CF33r36TUbcSz4KxXo5ApzAW9Dtf8EkfvTQppiEEd9HfAZ6
    - amount: (not specified)
- Returned:
    - proxy_address: 5FEPMjDLQd4Yyf8Dg7WSNVWSU36T1rXCcq1ph6HkW1YpNs5e
    - unsigned_transaction: 0xd00410020c0606060202286bee1602008c16e19e94328985d65cb7e3245213892730dd0e841f6511478cb12f23a178330100000000


If the amount is less than all of the stake controlled by this customer account ("partial nomination"), this amount will be deactivated, but the Blockdaemon proxy account will not be disconnected from the customer account, and will continue to manage its nominations.

**Partial deactivation example (for the Westend network):** - Submitted:
    - customer_address: 5CF33r36TUbcSz4KxXo5ApzAW9Dtf8EkfvTQppiEEd9HfAZ6
    - amount: 1,000,000,000
- Returned:
    - proxy_address: 5FEPMjDLQd4Yyf8Dg7WSNVWSU36T1rXCcq1ph6HkW1YpNs5e
    - unsigned_transaction: 0x30041002080606060202286bee

# 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": {
      "PolkadotNetwork": {
        "name": "network",
        "in": "path",
        "description": "Polkadot network",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/PolkadotNetwork"
        }
      }
    },
    "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": {
      "CommonDeactivationResponse": {
        "type": "object",
        "required": [
          "deactivate_intent_id",
          "customer_id"
        ],
        "properties": {
          "deactivate_intent_id": {
            "$ref": "#/components/schemas/DeactivateIntentId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/CustomerId"
          }
        }
      },
      "CustomerId": {
        "type": "string",
        "description": "Unique identifier for a customer",
        "example": "SatoshiNakamoto-xUYJbPw9hw",
        "minimum": 1
      },
      "DeactivateIntentPolkadot": {
        "type": "object",
        "description": "Polkadot Deactivate Intent Response",
        "required": [
          "unsigned_transaction",
          "proxy_address",
          "amount",
          "deactivationType"
        ],
        "properties": {
          "unsigned_transaction": {
            "$ref": "#/components/schemas/UnsignedTransactionPolkadotDeactivationIntent",
            "description": "Unsigned remove proxy transaction.\nOnce this transaction is signed, broadcasted to the network and included in the canonical history of the chain, the specified amount will be removed from the staked amount. If the amount is the entire stake, the proxy account of Blockdaemon will be unbound from the customer account."
          },
          "customer_address": {
            "$ref": "#/components/schemas/PolkadotAddress",
            "description": "Address of the customer account from which the proxy will be removed."
          },
          "controller_address": {
            "$ref": "#/components/schemas/PolkadotAddress",
            "description": "Address of the customer account from which the proxy will be removed.\nSame as customer_address. Deprecated - will be removed in a later version."
          },
          "proxy_address": {
            "$ref": "#/components/schemas/PolkadotAddress",
            "description": "Address of the proxy account that will be removed from the customer account."
          },
          "amount": {
            "$ref": "#/components/schemas/Dot",
            "description": "Amount of DOT that will be unbond."
          },
          "deactivationType": {
            "description": "Type of deactivation.\nThis can be either \"full\" or \"partial\". If \"full\" is specified, the entire stake will be removed from the proxy account. If \"partial\" is specified, the amount specified in the amount field will be removed from the proxy account.",
            "type": "string",
            "enum": [
              "full",
              "partial"
            ]
          }
        }
      },
      "Dot": {
        "type": "string",
        "description": "Denomination of the cryptocurrency Polkadot.",
        "pattern": "^[1-9]\\d+$",
        "example": "100"
      },
      "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"
          }
        }
      },
      "NewDeactivateIntentPolkadot": {
        "type": "object",
        "description": "Request object to create a new deactivation intent for Polkadot.",
        "properties": {
          "customer_address": {
            "$ref": "#/components/schemas/PolkadotAddress",
            "description": "Address of the customer account to deactivate."
          },
          "controller_address": {
            "$ref": "#/components/schemas/PolkadotAddress",
            "description": "Address of the customer account to deactivate.\nSame as customer_address. Deprecated - will be removed in a later version."
          },
          "amount": {
            "$ref": "#/components/schemas/Dot",
            "description": "Amount of DOT to unbond. If not supplied, the entire active stake is unbonded."
          }
        }
      },
      "PolkadotAddress": {
        "type": "string",
        "description": "Polkadot account address in [SS58 format](https://wiki.polkadot.network/docs/learn-account-advanced#address-format).",
        "format": "base58",
        "pattern": "^[1-9A-HJ-NP-Za-km-z]{44}$",
        "example": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj"
      },
      "PolkadotNetwork": {
        "type": "string",
        "description": "Coin network",
        "enum": [
          "mainnet",
          "kusama",
          "westend"
        ]
      },
      "PolkadotDeactivationIntentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonDeactivationResponse"
          },
          {
            "type": "object",
            "description": "Response to a new deactivation intent request.",
            "required": [
              "protocol",
              "network",
              "polkadot"
            ],
            "properties": {
              "protocol": {
                "$ref": "#/components/schemas/PolkadotProtocol"
              },
              "network": {
                "$ref": "#/components/schemas/PolkadotNetwork"
              },
              "polkadot": {
                "$ref": "#/components/schemas/DeactivateIntentPolkadot"
              }
            }
          }
        ]
      },
      "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"
          }
        }
      },
      "UnsignedTransactionPolkadotDeactivationIntent": {
        "type": "string",
        "format": "base64",
        "description": "Generated Polkadot unsigned transaction for the provided deactivation intent details.",
        "example": "0xd00410020c0606060202286bee1602008c16e19e94328985d65cb7e3245213892730dd0e841f6511478cb12f23a178330100000000"
      },
      "DeactivateIntentId": {
        "type": "string",
        "format": "uuid",
        "description": "Unique idenifier for deactivate intent.",
        "example": "4ba06e89-8c29-483e-ac36-318de5aa7364"
      },
      "PolkadotProtocol": {
        "type": "string",
        "description": "Polkadot protocol",
        "enum": [
          "polkadot"
        ]
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/v1/polkadot/{network}/deactivation-intents": {
      "parameters": [
        {
          "$ref": "#/components/parameters/PolkadotNetwork"
        }
      ],
      "post": {
        "summary": "Post Deactivation Intent",
        "operationId": "postPolkadotDeactivateIntent",
        "tags": [
          "Polkadot"
        ],
        "description": "Returns an unsigned transaction to deactivate a certain amount of stake.\n\nThe transaction will remove the specified amount from the staked amount. If an amount is not specified, the default is all staked amount. This will take place as soon as the user signs and broadcasts the transaction to the Polkadot network.\n\nPlease note that this amount will remain in the \"staking\" section of the account - it can be staked elsewhere, but cannot be transferred freely to another account. To move it to the \"general\" section of the account, the user will need to also create an withdrawal request.\n\nIf the amount is all of the stake controlled by this customer account (\"full deactivation\"), the transaction will also disconnect the Blockdaemon proxy account from this customer account. Please note that in this case all existing nominations of the customer account will remain active. Blockdaemon will immediately cease the further management of nominations even if the deactivation transaction is not broadcasted by the user to the network.\n\n**Full deactivation example (for the Westend network):** - Submitted:\n    - customer_address: 5CF33r36TUbcSz4KxXo5ApzAW9Dtf8EkfvTQppiEEd9HfAZ6\n    - amount: (not specified)\n- Returned:\n    - proxy_address: 5FEPMjDLQd4Yyf8Dg7WSNVWSU36T1rXCcq1ph6HkW1YpNs5e\n    - unsigned_transaction: 0xd00410020c0606060202286bee1602008c16e19e94328985d65cb7e3245213892730dd0e841f6511478cb12f23a178330100000000\n\n\nIf the amount is less than all of the stake controlled by this customer account (\"partial nomination\"), this amount will be deactivated, but the Blockdaemon proxy account will not be disconnected from the customer account, and will continue to manage its nominations.\n\n**Partial deactivation example (for the Westend network):** - Submitted:\n    - customer_address: 5CF33r36TUbcSz4KxXo5ApzAW9Dtf8EkfvTQppiEEd9HfAZ6\n    - amount: 1,000,000,000\n- Returned:\n    - proxy_address: 5FEPMjDLQd4Yyf8Dg7WSNVWSU36T1rXCcq1ph6HkW1YpNs5e\n    - unsigned_transaction: 0x30041002080606060202286bee",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDeactivateIntentPolkadot"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolkadotDeactivationIntentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Polkadot",
      "description": "Polkadot endpoints"
    }
  ]
}
```