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

# Revoke account signer

> Submit account_core.revoke_account_signer_by_sig over the authenticated Relay WebSocket.

Send `account_core.revoke_account_signer_by_sig` with a connection-local `id` over `wss://relay.testnet.kuru.io/relay/ws?account_id=<accountId>` (or the mainnet host) and a wallet-bound JWT in the upgrade `Authorization` header. The request uses the same exact payload and signature rules as the [REST method](/api/relay/reference/revoke-account-signer); omit the REST `wallet` and `requestId` fields. AccountCore methods still require `account_id` at connection upgrade, but their signed payload has no market field.

This is a slow operational request. Its bounded RPC simulation can hold later submissions on the same ordered WebSocket; use REST or a separate connection for latency-sensitive trading. `BROADCAST` only indicates asynchronous scheduling. Relay automatically sends `transaction.outcome` on this connection with the original `id`; no explicit subscription or client acknowledgement is required. Verify the intended on-chain state or events after a terminal outcome.


## AsyncAPI

````yaml api/relay/asyncapi.yaml revokeAccountSigner
id: revokeAccountSigner
title: account_core.revoke_account_signer_by_sig
description: Opt-in slow operational method; exact simulation precedes signer submission.
servers:
  - id: mainnet
    protocol: wss
    host: relay.mainnet.kuru.io
    bindings: []
    variables: []
  - id: testnet
    protocol: wss
    host: relay.testnet.kuru.io
    bindings: []
    variables: []
address: /relay/ws
parameters: []
bindings:
  - protocol: ws
    version: 0.1.0
    value:
      method: GET
      query:
        type: object
        required:
          - account_id
        properties:
          account_id:
            type: string
            pattern: ^[1-9][0-9]*$
            maxLength: 13
            description: >-
              Exactly one canonical positive uint40 Kuru trading account ID (1
              through 1099511627775), without leading zero, sign, or whitespace.
            examples: &ref_0
              - '123'
    schemaProperties:
      - name: method
        type: string
        description: GET
        required: false
      - name: query
        type: object
        required: false
        properties:
          - name: account_id
            type: string
            description: >-
              Exactly one canonical positive uint40 Kuru trading account ID (1
              through 1099511627775), without leading zero, sign, or whitespace.
            examples: *ref_0
            required: true
operations:
  - &ref_3
    id: receiveRevokeAccountSignerRequest
    title: Receive revoke account signer request
    type: receive
    messages:
      - &ref_4
        id: request
        contentType: application/json
        payload:
          - allOf: &ref_1
              - type: object
                additionalProperties: false
                required:
                  - id
                  - method
                  - payload
                properties:
                  id:
                    type: string
                    minLength: 1
                    maxLength: 128
                    description: Correlation ID unique within this connection.
                    x-parser-schema-id: <anonymous-schema-1>
                  method:
                    type: string
                    x-parser-schema-id: <anonymous-schema-2>
                  payload:
                    type: object
                    x-parser-schema-id: <anonymous-schema-3>
                  authorization7702:
                    oneOf:
                      - type: object
                        x-parser-schema-id: <anonymous-schema-5>
                      - type: 'null'
                        x-parser-schema-id: <anonymous-schema-6>
                    default: null
                    x-parser-schema-id: <anonymous-schema-4>
                x-parser-schema-id: BaseRequest
              - type: object
                properties:
                  method:
                    type: string
                    const: account_core.revoke_account_signer_by_sig
                    x-parser-schema-id: <anonymous-schema-86>
                  payload:
                    type: object
                    additionalProperties: false
                    required:
                      - account
                      - authorizer
                      - signer
                      - nonce
                      - deadline
                      - signature
                    description: >-
                      Separate AccountCore-v1 EOA authorizer signature. JWT
                      wallet need not match the signed parties.
                    properties:
                      account:
                        type: string
                        x-parser-schema-id: <anonymous-schema-87>
                      authorizer:
                        type: string
                        x-parser-schema-id: <anonymous-schema-88>
                      signer:
                        type: string
                        x-parser-schema-id: <anonymous-schema-89>
                      nonce:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: Root AccountCore authorization epoch.
                        x-parser-schema-id: <anonymous-schema-90>
                      deadline:
                        type: string
                        pattern: ^[1-9][0-9]*$
                        x-parser-schema-id: <anonymous-schema-91>
                      signature:
                        type: string
                        description: Canonical 65-byte or ERC-2098 64-byte EOA signature.
                        x-parser-schema-id: <anonymous-schema-92>
                    x-parser-schema-id: RevokeAccountSignerPayload
                x-parser-schema-id: <anonymous-schema-85>
            not: &ref_2
              required:
                - authorization7702
              x-parser-schema-id: <anonymous-schema-93>
            x-parser-schema-id: RevokeAccountSignerRequest
            name: account_core.revoke_account_signer_by_sig
        headers: []
        jsonPayloadSchema:
          allOf: *ref_1
          not: *ref_2
          x-parser-schema-id: RevokeAccountSignerRequest
        title: account_core.revoke_account_signer_by_sig
        example: |-
          {
            "id": "revokeaccountsigner-1",
            "method": "account_core.revoke_account_signer_by_sig",
            "payload": {
              "account": "0x3333333333333333333333333333333333333333",
              "authorizer": "0x3333333333333333333333333333333333333333",
              "signer": "0x1111111111111111111111111111111111111111",
              "nonce": "1",
              "deadline": "1792500000",
              "signature": "0x..."
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: request
    bindings: []
    extensions:
      - id: x-parser-unique-object-id
        value: revokeAccountSigner
sendOperations:
  - *ref_3
receiveOperations: []
sendMessages:
  - *ref_4
receiveMessages: []
extensions:
  - id: x-parser-unique-object-id
    value: revokeAccountSigner
securitySchemes:
  - id: bearerAuth
    name: bearerAuth
    type: http
    description: Wallet-bound JWT supplied in the WebSocket upgrade Authorization header.
    scheme: bearer
    bearerFormat: JWT
    extensions: []

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.