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

Create a transaction for deactivating staked NEAR tokens.

The Post Deactivation Intent endpoint returns an unsigned transaction, which once signed and broadcasted starts the deactivation process. The process will complete in 4 NEAR epochs (48 hours).

Once the deactivation countdown is underway, you can still change the deactivated account by generating and broadcasting a new deactivation transaction. Please note that this will reset the countdown.

# 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": {
      "NearNetwork": {
        "name": "network",
        "in": "path",
        "description": "NEAR network",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/NearNetwork"
        }
      }
    },
    "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
      },
      "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"
          }
        }
      },
      "NearDeactivationIntentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonDeactivationResponse"
          },
          {
            "type": "object",
            "description": "Response to a new deactivation intent request.",
            "required": [
              "protocol",
              "network",
              "near"
            ],
            "properties": {
              "protocol": {
                "$ref": "#/components/schemas/NearProtocol"
              },
              "network": {
                "$ref": "#/components/schemas/NearNetwork"
              },
              "near": {
                "$ref": "#/components/schemas/DeactivateIntentNear"
              }
            }
          }
        ]
      },
      "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"
      },
      "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"
          }
        }
      },
      "UnsignedTransaction": {
        "type": "string",
        "format": "base64",
        "description": "Generated unsigned transaction smart contract call data.",
        "example": "0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120087fed394b43849eebef1e88873cd9efdbe33136656e5148e659b8b2f33625d40000000000000000000000000000000000000000000000000000000000000030b81748644e23c4d950f9dd709f3eb73d5eacd9657997e1d9dde7c4ebd8a6519ecb9d0a7fb603d3b68e023278f9650122000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c509bb854c526af4cee5e037089f7aa8e091d8870000000000000000000000000000000000000000000000000000000000000060b36b79b4b206c0310472c117fa40c05342b5dc3e89f98f42c9da3ce6450d4c603cad55248017fd4eca3ab277cca64569193e4d487f5b2ea78a2bcdc81926c313c05842a3af318967a775783bba22519e8b8886587efa99aa7dab5784f792b187\n"
      },
      "UnsignedTransactionHash": {
        "type": "string",
        "format": "base64",
        "description": "A generated transaction that is ready to sign.",
        "example": "120000007465737477616c6c65742e746573746e65740025150c44ecddfe779c2ca "
      },
      "DeactivateIntentId": {
        "type": "string",
        "format": "uuid",
        "description": "Unique idenifier for deactivate intent.",
        "example": "4ba06e89-8c29-483e-ac36-318de5aa7364"
      },
      "NearAddress": {
        "type": "string",
        "description": "Base58 encoded public key or registered named account. [Accounts](https://docs.near.org/concepts/basics/accounts/account-id/).",
        "pattern": "^([a-km-zA-HJ-NP-Z1-9]{22,44})|((([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+)$",
        "example": "alice.near"
      },
      "NearNetwork": {
        "type": "string",
        "description": "NEAR network",
        "enum": [
          "mainnet",
          "testnet",
          "localnet"
        ]
      },
      "NearYocto": {
        "type": "string",
        "description": "Denomination of NEAR Protocol.",
        "pattern": "^[1-9]\\d+$",
        "example": "100000000000000000000000000"
      },
      "NewDeactivateIntentNear": {
        "type": "object",
        "description": "Request object to create a new deactivation intent for NEAR Protocol.",
        "required": [
          "amount",
          "wallet_address",
          "public_key"
        ],
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/NearYocto",
            "description": "Amount of yoctoNEAR to deactivate. 1 NEAR = 1e24 yoctoNEAR"
          },
          "wallet_address": {
            "$ref": "#/components/schemas/NearAddress"
          },
          "public_key": {
            "$ref": "#/components/schemas/NearPublicKey"
          },
          "to": {
            "$ref": "#/components/schemas/NearAddress",
            "description": "Specifies the validator the stake was delegated to."
          },
          "plan_id": {
            "$ref": "#/components/schemas/PlanId"
          }
        }
      },
      "DeactivateIntentNear": {
        "type": "object",
        "description": "NEAR Protocol Deactivate Intent",
        "required": [
          "to",
          "unsigned_transaction",
          "unsigned_transaction_hash",
          "amount",
          "wallet_address",
          "public_key",
          "expiration_time"
        ],
        "properties": {
          "to": {
            "$ref": "#/components/schemas/NearAddress"
          },
          "unsigned_transaction": {
            "$ref": "#/components/schemas/UnsignedTransaction"
          },
          "unsigned_transaction_hash": {
            "$ref": "#/components/schemas/UnsignedTransactionHash"
          },
          "amount": {
            "$ref": "#/components/schemas/NearYocto"
          },
          "wallet_address": {
            "$ref": "#/components/schemas/NearAddress"
          },
          "public_key": {
            "$ref": "#/components/schemas/NearPublicKey"
          },
          "expiration_time": {
            "$ref": "#/components/schemas/ExpirationTime"
          }
        }
      },
      "NearPublicKey": {
        "type": "string",
        "description": "Base58 encoded public key prefixed by ed25519, associated with the private key that will be used to sign the transaction.",
        "example": "ed25519:Cxg2wgFYrdLTEkMu6j5D6aEZqTb3kXbmJygS48ZKbo1S",
        "pattern": "^ed25519:[a-km-zA-HJ-NP-Z1-9]{22,44}$"
      },
      "NearProtocol": {
        "type": "string",
        "description": "Near protocol",
        "enum": [
          "near"
        ]
      },
      "ExpirationTime": {
        "type": "integer",
        "description": "Transaction expiration time",
        "format": "int64",
        "example": 1689939023
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/v1/near/{network}/deactivation-intents": {
      "parameters": [
        {
          "$ref": "#/components/parameters/NearNetwork"
        }
      ],
      "post": {
        "summary": "Post Deactivation Intent",
        "operationId": "postNearDeactivationIntent",
        "tags": [
          "NEAR"
        ],
        "description": "Create a transaction for deactivating staked NEAR tokens.\n\nThe Post Deactivation Intent endpoint returns an unsigned transaction, which once signed and broadcasted starts the deactivation process. The process will complete in 4 NEAR epochs (48 hours).\n\nOnce the deactivation countdown is underway, you can still change the deactivated account by generating and broadcasting a new deactivation transaction. Please note that this will reset the countdown.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDeactivateIntentNear"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NearDeactivationIntentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "tags": [
    {
      "name": "NEAR",
      "description": "Near endpoints"
    }
  ]
}
```