---
title: "Set subkey block trade signing"
method: PUT
path: "/account/keys/subkeys/{public_key}/block-trade-signing"
tags: ["Subkey"]
---

# Set subkey block trade signing

`PUT /account/keys/subkeys/{public_key}/block-trade-signing`

## Request

- Base URL: `https://api.prod.paradex.trade/v1`
- URL: `https://api.prod.paradex.trade/v1/account/keys/subkeys/{public_key}/block-trade-signing`
- Auth: API key in header `Authorization`

Set whether an active subkey is enabled to sign block trades (create, offer and execute signatures) for the account. Subkeys start with it off. The Paradigm RFQ delegation key follows its delegation instead, and changing it is rejected with 400, as is a subkey that is not active yet. Only callable with the main account.

## Path parameters

- `public_key` string, required

## Request body

- RequestsUpdateSubkeyBlockTradeSigning
  - `enabled` boolean, required: Whether the subkey may sign block trades for the account.

## Response `200`

Updated subkey details

- ResponsesSubkey
  - `account_id` string: Account ID that owns this subkey
  - `allowed_cidrs` string[]: IP CIDR allowlist; empty means unrestricted
  - `block_trade_signing_enabled` boolean: Whether this subkey is enabled for block trade signing (create, offer and execute signatures) for its account: it is active, and either the account owner enabled it with the main key or it is the Paradigm RFQ delegation key, which follows its delegation. Always false for pending and revoked subkeys.
  - `created_at` integer: Subkey creation timestamp (nanoseconds since epoch)
  - `id` integer: Unique subkey identifier
  - `name` string: User-provided subkey name
  - `public_key` string: Subkey public key
  - `revoked_at` integer: Revocation timestamp (nanoseconds since epoch, 0 if not revoked)
  - `state` string: Subkey state
  - `updated_at` integer: Last modification timestamp (nanoseconds since epoch)

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

## Changes

- **2026-10-22** `f33feb7333ea`: 12 warning
  - added the new `ADDRESS_BOOK_NOT_PARADEX_ACCOUNT` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `400`
  - added the new `ADDRESS_BOOK_NOT_PARADEX_ACCOUNT` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `401`
  - added the new `ADDRESS_BOOK_NOT_PARADEX_ACCOUNT` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `403`
  - added the new `ADDRESS_BOOK_NOT_PARADEX_ACCOUNT` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `404`
  - …8 more
- **2026-10-20** `72c125c93c2b`: 8 warning
  - added the new `SESSION_EXPIRED` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `400`
  - added the new `SESSION_EXPIRED` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `401`
  - added the new `SESSION_EXPIRED` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `403`
  - added the new `SESSION_EXPIRED` enum value to the `error/allOf[#/components/schemas/responses.ErrorCode]/` response property for the response status `404`
  - …4 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/tradeparadex/apis/paradex-rest-api-2/changes/account/keys/subkeys/:public_key/block-trade-signing/put.md)

---

[API](https://skmtc.dev/tradeparadex/apis/paradex-rest-api-2.md) - [All operations](https://skmtc.dev/tradeparadex/apis/paradex-rest-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/tradeparadex/apis/paradex-rest-api-2/revisions/f33feb7333ea?raw)
