> ## Documentation Index
> Fetch the complete documentation index at: https://docs.p2p.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Remove Staking Proxy Account

> Removing a proxy account involves discontinuing the delegation of staking responsibilities from one account to another. This action allows users to regain direct control over their staking activities and tokens in the Polkadot network.



## OpenAPI

````yaml POST /api/v1/polkadot/{network}/account/remove
openapi: 3.0.0
info:
  title: Staking API
  description: API used for staking
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.p2p.org/api
security:
  - bearer: []
tags:
  - name: Aptos
    description: Aptos staking operations (stake, unstake, withdraw, claim).
  - name: Celestia
    description: Celestia staking operations (stake, unstake, redelegate, claim).
  - name: Cosmos
    description: Cosmos Hub staking operations (stake, unstake, redelegate, claim).
  - name: EigenLayer
    description: EigenLayer restaking operations.
  - name: Ethereum
    description: Ethereum staking operations (direct, SSV, pooled).
  - name: Hyperliquid
    description: Hyperliquid staking operations.
  - name: Monad
    description: Monad staking operations (delegate, undelegate, withdraw).
  - name: P2P SSV
    description: P2P-managed SSV validator operations (deposit, claim, withdraw).
  - name: Polkadot
    description: Polkadot staking and nomination pool operations.
  - name: Polygon
    description: Polygon staking operations.
  - name: Pooled Staking
    description: Pooled staking vault operations (deposit, unstake, withdraw).
  - name: Sei
    description: Sei staking operations (stake, unstake, redelegate, claim).
  - name: Solana
    description: Solana staking operations (stake, split, merge, deactivate, withdraw).
  - name: SSV
    description: SSV network validator operations.
  - name: Story
    description: Story network staking operations.
  - name: Sui
    description: Sui staking operations.
  - name: TON
    description: TON staking operations (single nominator, whales pool).
  - name: TRON
    description: TRON staking operations (freeze, delegate, vote, withdraw).
  - name: Unified
    description: Unified multi-chain staking interface.
paths:
  /api/v1/polkadot/{network}/account/remove:
    post:
      tags:
        - Polkadot
      summary: Remove Staking Proxy Account
      description: >-
        Removing a proxy account involves discontinuing the delegation of
        staking responsibilities from one account to another. This action allows
        users to regain direct control over their staking activities and tokens
        in the Polkadot network.
      operationId: polkadot-account-remove
      parameters:
        - name: network
          required: true
          in: path
          description: >-
            <p>Polkadot network:</p><ul><li>`mainnet` — Polkadot
            mainnet.</li><li>`kusama` — Kusama mainnet.</li><li>`westend` —
            Polkadot testnet.</li></ul>
          schema:
            enum:
              - mainnet
              - kusama
              - westend
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolkadotRemoveRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SuccessResponse'
                  - type: object
                    properties:
                      result:
                        $ref: >-
                          #/components/schemas/PolkadotAccountTransactionResponse
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ExceptionResponse'
                  - type: object
                    properties:
                      error:
                        oneOf:
                          - $ref: '#/components/schemas/CommonValidationException'
                          - $ref: >-
                              #/components/schemas/PolkadotAddressIsInvalidException
                          - $ref: >-
                              #/components/schemas/PolkadotNetworkIsNotIncludedInListException
                          - $ref: >-
                              #/components/schemas/PolkadotProxyNotFoundException
              examples:
                ValidationException:
                  value:
                    error:
                      code: 100101
                      message: >-
                        The data provided is not valid. Please check the request
                        parameters and try again.
                      name: ValidationException
                      type: client
                    result: null
                AddressIsInvalidException:
                  value:
                    error:
                      code: 107101
                      message: >-
                        The request could not be performed because the address
                        undefined provided is invalid. Please specify the
                        correct Polkadot address.
                      name: AddressIsInvalidException
                      type: client
                    result: null
                PolkadotNetworkIsNotIncludedInListException:
                  value:
                    error:
                      code: 107119
                      message: >-
                        The request could not be performed because the network
                        provided is not supported. Please specify the network
                        from the list of available ones: undefined.
                      name: PolkadotNetworkIsNotIncludedInListException
                      type: client
                    result: null
                ProxyNotFoundException:
                  value:
                    error:
                      code: 107107
                      message: >-
                        The proxy account address provided could not be found.
                        Please specify the correct address.
                      name: ProxyNotFoundException
                      type: client
                    result: null
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ExceptionResponse'
                  - type: object
                    properties:
                      error:
                        oneOf:
                          - $ref: '#/components/schemas/AuthNoTokenException'
                          - $ref: '#/components/schemas/AuthWrongTokenException'
              examples:
                NoTokenException:
                  value:
                    error:
                      code: 101111
                      message: >-
                        No Bearer token has been provided. To obtain an
                        authentication token, follow the instructions at
                        https://docs.p2p.org/docs/authentication.
                      name: NoTokenException
                      type: authentication
                    result: null
                WrongTokenException:
                  value:
                    error:
                      code: 101109
                      message: >-
                        An invalid Bearer token has been provided. Please
                        specify the correct authentication token.
                      name: WrongTokenException
                      type: authentication
                    result: null
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ExceptionResponse'
                  - type: object
                    properties:
                      error:
                        oneOf:
                          - $ref: '#/components/schemas/PolkadotRemoveException'
                          - $ref: '#/components/schemas/AuthTokenGuardException'
              examples:
                RemoveException:
                  value:
                    error:
                      code: 107121
                      message: >-
                        The proxy account address could not be removed because
                        the internal server error occurred.
                      name: RemoveException
                      type: server
                    result: null
                TokenGuardException:
                  value:
                    error:
                      code: 101110
                      message: >-
                        The request could not be performed because the server
                        authorization error occurred.
                      name: TokenGuardException
                      type: server
                    result: null
      security:
        - bearer: []
components:
  schemas:
    PolkadotRemoveRequest:
      type: object
      properties:
        extended:
          type: boolean
          description: >-
            Optional boolean parameter indicating whether to include additional
            metadata in the response.
          example: false
        stashAccountAddress:
          type: string
          description: >-
            Proxied account is an address that transfers rights to a proxy
            account. The original account retains all of its rights, and the
            proxy account can be removed at any time.
          example: 5H6ryBWChC5w7eaQ4GZjo329sEnhvjetSr6MBEt42mZ5tPw5
        proxyAccountAddress:
          type: string
          description: Proxy account is an address that receives proxied account rights.
          example: 5Ca1Bqfzc4DdU6zMXLu5UhpRtdX5EzCseDXW9YisVm25ATeJ
      required:
        - stashAccountAddress
        - proxyAccountAddress
    SuccessResponse:
      type: object
      properties:
        error:
          type: object
          nullable: true
          default: null
          description: Error object. Always null on successful responses.
        result:
          type: object
          description: Response payload containing the requested data.
      description: Standard API success response envelope wrapping the result payload.
      required:
        - error
        - result
    PolkadotAccountTransactionResponse:
      type: object
      properties:
        unsignedTransaction:
          type: string
          description: >-
            Unsigned transaction in the hexadecimal format. Sign the transaction
            and submit it to the blockchain to perform the called action.
          example: >-
            0xa404160200165874de804160c3cd013d9b6f4bba864657c4c2168a542f78ff14a0253873190200000000
        unsignedTransactionPayload:
          type: string
          description: >-
            Unsigned transaction in serialized format. Sign the transaction and
            submit it to the blockchain to perform the called action.
          example: 7b226164647265...737326164647265732
        unsignedTransactionObject:
          description: Unsigned transaction object.
          allOf:
            - $ref: '#/components/schemas/PolkadotUnsignedTransactionObjectResponse'
        createdAt:
          format: date-time
          type: string
          description: Timestamp of the transaction in the ISO 8601 format.
          example: '2023-08-24T08:23:18.830Z'
      required:
        - unsignedTransaction
        - createdAt
    ExceptionResponse:
      type: object
      properties:
        error:
          type: object
          description: Error object containing exception details. Null on success.
        result:
          type: object
          nullable: true
          default: null
          description: Result payload. Always null on error responses.
        requestId:
          type: string
          description: >-
            Identifier of the request (the `x-request-id` header). Quote this
            value to correlate the response with server logs.
          example: 90c16e9e-6e99-4651-a033-60290356df2f
        timestamp:
          type: string
          format: date-time
          description: ISO 8601 timestamp of when the error response was generated.
          example: '2026-05-20T22:29:03.126Z'
      description: Standard API error response envelope wrapping the exception details.
      required:
        - error
        - result
        - timestamp
    CommonValidationException:
      type: object
      properties:
        type:
          type: string
          default: client
          example: client
          description: Exception category.
        code:
          type: integer
          format: int32
          default: 100101
          example: 100101
          description: Numeric error code identifying the exception type.
        message:
          type: string
          default: >-
            The data provided is not valid. Please check the request parameters
            and try again.
          example: >-
            The data provided is not valid. Please check the request parameters
            and try again.
          description: Human-readable error message describing what went wrong.
        errors:
          description: Validation error details when applicable.
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorResponse'
        name:
          type: string
          default: ValidationException
          example: ValidationException
          description: Exception class name for runtime error identification.
      required:
        - type
        - code
        - message
        - errors
        - name
    PolkadotAddressIsInvalidException:
      type: object
      properties:
        type:
          type: string
          default: client
          example: client
          description: Exception category.
        code:
          type: integer
          format: int32
          default: 107101
          example: 107101
          description: Numeric error code identifying the exception type.
        message:
          type: string
          default: >-
            The request could not be performed because the address %s provided
            is invalid. Please specify the correct Polkadot address.
          example: >-
            The request could not be performed because the address %s provided
            is invalid. Please specify the correct Polkadot address.
          description: Human-readable error message describing what went wrong.
        name:
          type: string
          default: AddressIsInvalidException
          example: AddressIsInvalidException
          description: Exception class name for runtime error identification.
      required:
        - type
        - code
        - message
        - name
    PolkadotNetworkIsNotIncludedInListException:
      type: object
      properties:
        type:
          type: string
          default: client
          example: client
          description: Exception category.
        code:
          type: integer
          format: int32
          default: 107119
          example: 107119
          description: Numeric error code identifying the exception type.
        message:
          type: string
          default: >-
            The request could not be performed because the network provided is
            not supported. Please specify the network from the list of available
            ones: [ 'mainnet', 'kusama', 'westend' ].
          example: >-
            The request could not be performed because the network provided is
            not supported. Please specify the network from the list of available
            ones: [ 'mainnet', 'kusama', 'westend' ].
          description: Human-readable error message describing what went wrong.
        name:
          type: string
          default: PolkadotNetworkIsNotIncludedInListException
          example: PolkadotNetworkIsNotIncludedInListException
          description: Exception class name for runtime error identification.
      required:
        - type
        - code
        - message
        - name
    PolkadotProxyNotFoundException:
      type: object
      properties:
        type:
          type: string
          default: client
          example: client
          description: Exception category.
        code:
          type: integer
          format: int32
          default: 107107
          example: 107107
          description: Numeric error code identifying the exception type.
        message:
          type: string
          default: >-
            The proxy account address provided could not be found. Please
            specify the correct address.
          example: >-
            The proxy account address provided could not be found. Please
            specify the correct address.
          description: Human-readable error message describing what went wrong.
        name:
          type: string
          default: ProxyNotFoundException
          example: ProxyNotFoundException
          description: Exception class name for runtime error identification.
      required:
        - type
        - code
        - message
        - name
    AuthNoTokenException:
      type: object
      properties:
        type:
          type: string
          default: authentication
          example: authentication
          description: Exception category.
        code:
          type: integer
          format: int32
          default: 101111
          example: 101111
          description: Numeric error code identifying the exception type.
        message:
          type: string
          default: >-
            No Bearer token has been provided. To obtain an authentication
            token, follow the instructions at
            https://docs.p2p.org/docs/authentication.
          example: >-
            No Bearer token has been provided. To obtain an authentication
            token, follow the instructions at
            https://docs.p2p.org/docs/authentication.
          description: Human-readable error message describing what went wrong.
        name:
          type: string
          default: NoTokenException
          example: NoTokenException
          description: Exception class name for runtime error identification.
      required:
        - type
        - code
        - message
        - name
    AuthWrongTokenException:
      type: object
      properties:
        type:
          type: string
          default: authentication
          example: authentication
          description: Exception category.
        code:
          type: integer
          format: int32
          default: 101109
          example: 101109
          description: Numeric error code identifying the exception type.
        message:
          type: string
          default: >-
            An invalid Bearer token has been provided. Please specify the
            correct authentication token.
          example: >-
            An invalid Bearer token has been provided. Please specify the
            correct authentication token.
          description: Human-readable error message describing what went wrong.
        name:
          type: string
          default: WrongTokenException
          example: WrongTokenException
          description: Exception class name for runtime error identification.
      required:
        - type
        - code
        - message
        - name
    PolkadotRemoveException:
      type: object
      properties:
        type:
          type: string
          default: server
          example: server
          description: Exception category.
        code:
          type: integer
          format: int32
          default: 107121
          example: 107121
          description: Numeric error code identifying the exception type.
        message:
          type: string
          default: >-
            The proxy account address could not be removed because the internal
            server error occurred.
          example: >-
            The proxy account address could not be removed because the internal
            server error occurred.
          description: Human-readable error message describing what went wrong.
        name:
          type: string
          default: RemoveException
          example: RemoveException
          description: Exception class name for runtime error identification.
      required:
        - type
        - code
        - message
        - name
    AuthTokenGuardException:
      type: object
      properties:
        type:
          type: string
          default: server
          example: server
          description: Exception category.
        code:
          type: integer
          format: int32
          default: 101110
          example: 101110
          description: Numeric error code identifying the exception type.
        message:
          type: string
          default: >-
            The request could not be performed because the server authorization
            error occurred.
          example: >-
            The request could not be performed because the server authorization
            error occurred.
          description: Human-readable error message describing what went wrong.
        name:
          type: string
          default: TokenGuardException
          example: TokenGuardException
          description: Exception class name for runtime error identification.
      required:
        - type
        - code
        - message
        - name
    PolkadotUnsignedTransactionObjectResponse:
      type: object
      properties:
        blockHash:
          type: string
          description: Hash of the checkpoint block in which the transaction was included.
          readOnly: true
        eraPeriod:
          type: integer
          format: int32
          description: >-
            Validity period of the transaction, representing the number of
            blocks after the checkpoint for which the transaction is valid.
        currentEra:
          type: integer
          format: int32
          description: Current staking era of the transaction.
        genesisHash:
          type: string
          description: Hash of the genesis block.
        metadataRpc:
          type: string
          description: >-
            Serialized metadata used for offline decoding and transaction
            signing.
        method:
          type: object
          description: >-
            List of data fields containing information on the method called to
            construct a transaction.
        nonce:
          type: integer
          format: int32
          description: Nonce of the transaction.
        specVersion:
          type: integer
          format: int32
          description: Current version of the chain specification for the runtime.
        transactionVersion:
          type: integer
          format: int32
          description: Current version of the transaction format.
        tip:
          type: integer
          format: int64
          description: Optional fee used to increase the transaction priority.
      required:
        - blockHash
        - eraPeriod
        - currentEra
        - genesisHash
        - metadataRpc
        - method
        - nonce
        - specVersion
        - transactionVersion
        - tip
    ValidationErrorResponse:
      type: object
      properties:
        property:
          type: string
          description: Name of the property that failed validation.
        constraints:
          type: object
          additionalProperties:
            type: string
          description: Validation constraint details describing what was expected.
      required:
        - property
        - constraints
  responses:
    TooManyRequests:
      description: >-
        Too Many Requests — the client exceeded its rate limit. The response
        advertises when to retry and the active quota via headers.
      headers:
        Retry-After:
          description: Number of seconds to wait before retrying the request.
          schema:
            type: integer
            example: 60
        RateLimit-Limit:
          description: >-
            The request quota (maximum number of requests) for the most
            restrictive applicable window.
          schema:
            type: integer
            example: 120
        RateLimit-Reset:
          description: >-
            Number of seconds until the rate-limit window resets and requests
            are accepted again.
          schema:
            type: integer
            example: 60
        RateLimit-Policy:
          description: >-
            The active rate-limit policy as `<limit>;w=<window-seconds>`,
            comma-separated when multiple windows apply.
          schema:
            type: string
            example: 120;w=60
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: integer
                  name:
                    type: string
                    example: ThrottlerException
                  message:
                    type: string
                    example: ThrottlerException
                  errors:
                    type: array
                    nullable: true
                    items:
                      type: object
              result:
                type: object
                nullable: true
                example: null
              requestId:
                type: string
                description: >-
                  Identifier of the request (the `x-request-id` header). Quote
                  this value to correlate the response with server logs.
                example: 90c16e9e-6e99-4651-a033-60290356df2f
              timestamp:
                type: string
                format: date-time
                description: ISO 8601 timestamp of when the error response was generated.
                example: '2026-05-20T22:29:03.126Z'
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````

## Related topics

- [Add Staking Proxy Account](/reference/polkadot-account-add.md)
- [Prepare removeValidator Transaction](/reference/transaction-remove-validator.md)
- [Getting Started](/docs/staking-polkadot.md)
- [Prepare Staking Proxy Transaction](/reference/p2p-transaction-direct-deposit.md)
- [Polkadot](/docs/unified-api-polkadot.md)
