> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.paradex.trade/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.paradex.trade/_mcp/server.

# Archive a sub-account

DELETE https://api.prod.paradex.trade/v1/account/subaccounts/{address}

Archives one of the authenticated main account's sub-accounts.

Archiving only marks the sub-account as archived so clients can hide it:
nothing is deleted, its keys keep working and its on-chain account is
untouched. `GET /account/subaccounts` keeps listing it, with `archived_at`
set. Only a session authenticated with the main account's own key is
accepted.

`address` must be a sub-account onboarded under the authenticated account,
matched regardless of case and leading zeros; any other address answers
`404 ACCOUNT_NOT_FOUND`. Only an account of kind `subaccount` can be archived:
an isolated or vault account answers `400 INVALID_REQUEST_PARAMETER`.

The sub-account must hold nothing: its account value and total collateral
must both be zero, every token balance must have a size of zero (a token
with no price adds nothing to the account value), it must hold no shares of
any vault, and it must have no open position and no open order (stop orders
included). Otherwise the request is refused with `400 SUBACCOUNT_HAS_FUNDS`,
whose message says which. When any of these cannot be read, the request
fails rather than archiving a sub-account that may still hold something.

An archived sub-account frees its place in the main account's sub-account
limit (`SUBACCOUNTS_LIMIT_EXCEEDED` at onboarding), but archived sub-accounts
still count towards a total of twice that limit.

Archiving is idempotent: archiving a sub-account already archived answers
`200` with its first `archived_at`, without checking its funds again.

Responds with the archived sub-account; `archived_at` is in milliseconds
since epoch.


Reference: https://docs.paradex.trade/api/prod/account/archive-sub-account

## Authentication

- `Authorization` header (required) — API Key authentication via header

## Request

### Path parameters

- `address` (string, required) — Sub-account address

## Response

### 200

OK

- `account` (string, optional) — Starknet address of the account
- `archived_at` (integer, optional) — Time the main account archived this sub-account, in unix milliseconds; absent when not archived
- `created_at` (integer, optional) — Account creation time
- `derivation_path` (string, optional) — Account derivation path used to derive the account, if a sub-account
- `fees` (responses.Fees, optional)
- `has_ecosystem_nft` (boolean, optional) — True if account owns an ecosystem NFT (Money Badgers / ShizoPunk) — qualifies for the lower retail tier thresholds
- `isolated_market` (string, optional) — Isolated market for the account
- `kind` (enum, optional) — Account kind
  - Allowed values: ``, `main`, `subaccount`, `vault_operator`, `vault_sub_operator`
- `parent_account` (string, optional) — Starknet address of the parent account
- `public_key` (string, optional) — Starknet public key
- `username` (string, optional) — Username of the account
- `volume_tiers` (map from string to responses.VolumeTierKindInfo, optional) — Volume tier info by kind

## Errors

### 400 Bad Request Error

Bad Request

- `data` (ResponsesApiErrorData, optional) — any additional data related to the error
- `error` (enum, optional) — unique immutable string identifier for specific error
  - Allowed values: `VALIDATION_ERROR`, `BINDING_ERROR`, `INTERNAL_ERROR`, `NOT_FOUND`, `SERVICE_UNAVAILABLE`, `INVALID_REQUEST_PARAMETER`, `ORDER_ID_NOT_FOUND`, `ORDER_IS_CLOSED`, `ORDER_IS_NOT_OPEN`, `INVALID_ORDER_SIZE`, `CLIENT_ORDER_ID_NOT_FOUND`, `DUPLICATED_CLIENT_ID`, `INVALID_SYMBOL`, `INVALID_TOKEN`, `INVALID_ETHEREUM_ADDRESS`, `INVALID_ETHEREUM_SIGNATURE`, `INVALID_STARKNET_ADDRESS`, `INVALID_STARKNET_SIGNATURE`, `STARKNET_SIGNATURE_VERIFICATION_FAILED`, `ETHEREUM_SIGNER_MISMATCH`, `ETHEREUM_HASH_MISMATCH`, `NOT_ONBOARDED`, `INVALID_TIMESTAMP`, `INVALID_BLOCK_EXPIRATION`, `ACCOUNT_NOT_FOUND`, `MEDIA_NOT_FOUND`, `INVALID_ORDER_SIGNATURE`, `PUBLIC_KEY_INVALID`, `UNAUTHORIZED_ETHEREUM_ADDRESS`, `UNAUTHORIZED_ERROR`, `ETHEREUM_ADDRESS_ALREADY_ONBOARDED`, `EVM_ADDRESS_ALREADY_ONBOARDED`, `MARKET_NOT_FOUND`, `ALLOWLIST_ENTRY_NOT_FOUND`, `USERNAME_IN_USE`, `GEO_IP_BLOCK`, `ETHEREUM_ADDRESS_BLOCKED`, `PROGRAM_NOT_FOUND`, `PROGRAM_NOT_SUPPORTED`, `INVALID_DASHBOARD`, `MARKET_NOT_OPEN`, `MARKET_NOT_SETTLED`, `INVALID_REFERRAL_CODE`, `REQUEST_NOT_ALLOWED`, `PARENT_ADDRESS_ALREADY_ONBOARDED`, `INVALID_PARENT_ACCOUNT`, `INVALID_VAULT_OPERATOR_CHAIN`, `VAULT_OPERATOR_ALREADY_ONBOARDED`, `VAULT_NAME_IN_USE`, `VAULT_NOT_FOUND`, `VAULT_STRATEGY_NOT_FOUND`, `VAULT_LIMIT_REACHED`, `VAULT_DATA_PRIVATE`, `BATCH_SIZE_OUT_OF_RANGE`, `ISOLATED_MARKET_ACCOUNT_MISMATCH`, `NO_ACCESS_TO_MARKET`, `POINTS_SUMMARY_NOT_FOUND`, `ALGO_ID_NOT_FOUND`, `INVALID_DERIVATION_PATH`, `PROFILE_STATS_NOT_FOUND`, `INVALID_CHAIN`, `INVALID_LAYERSWAP_SWAP`, `INVALID_DEPOSIT_ADDRESS`, `SOCIAL_USERNAME_IN_USE`, `INVALID_OAUTH_REQUEST`, `RPI_ACCOUNT_NOT_WHITELISTED`, `SYSTEM_STATUS_POST_ONLY`, `SYSTEM_STATUS_CANCEL_ONLY`, `INVALID_MARKETING_CODE`, `OFFER_NOT_FOUND`, `MARKET_MARGIN_RESTRICTED`, `NOT_UNIQUE`, `ACCOUNT_ALREADY_REFERRED`, `ONBOARDING_PERIOD_EXPIRED`, `ONBOARDING_RATE_LIMITED`, `RFQ_CREATE_BUDGET_EXCEEDED`, `SUBACCOUNTS_LIMIT_EXCEEDED`, `INSUFFICIENT_MIN_CHAIN_BALANCE`, `CONTRACT_WALLET_NOT_SUPPORTED`, `INSUFFICIENT_EVM_BALANCE`, `PORTFOLIO_MARGIN_ONBOARDING_DISABLED`, `PORTFOLIO_MARGIN_INVALID_ACCOUNT_KIND`, `EVM_VAULT_OPERATORS_DISABLED`, `VAULT_OPERATOR_OWNER_PROOF_REQUIRED`, `PARENT_PROOF_REQUIRED`, `STARKNET_PARENT_ONBOARDING_DISABLED`, `INVALID_EVM_SIGNATURE`, `EVM_SIGNATURE_VERIFICATION_FAILED`, `INVALID_SUBKEY`, `SUBKEY_NOT_ACTIVATABLE`, `SUBKEY_REVOKED`, `TOKEN_LIMIT_REACHED`, `INVALID_TOKEN_SCOPE`, `IP_NOT_ALLOWED`, `INSUFFICIENT_TRANSFERRABLE_XP`, `TRANSFER_LIMIT_REACHED`, `XP_TRANSFERS_DISABLED`, `BLOCK_TRADE_NOT_FOUND`, `BLOCK_TRADE_NOT_ENABLED`, `BLOCK_TRADE_EXPIRED`, `BLOCK_TRADE_ALREADY_CANCELLED`, `BLOCK_TRADE_INVALID_STATUS`, `BLOCK_TRADE_UNAUTHORIZED`, `BLOCK_TRADE_MISSING_TRADES`, `BLOCK_TRADE_MISSING_SIGNERS`, `BLOCK_TRADE_MISSING_SIGNATURE`, `BLOCK_TRADE_ACCOUNT_MISMATCH`, `BLOCK_TRADE_INVALID_SIGNATURE`, `BLOCK_TRADE_SIGNER_KEY_UNAUTHORIZED`, `BLOCK_TRADE_REPLAYED_SIGNATURE`, `BLOCK_TRADE_SELF_TRADE`, `OFFER_ALREADY_CANCELLED`, `OFFER_INVALID_STATUS`, `OFFER_UNAUTHORIZED`, `OFFER_PARENT_MISMATCH`, `OFFER_PARENT_NOT_ACCEPTING`, `PORTFOLIO_MARGIN_CONFIG_NOT_FOUND`, `MARGIN_CONFIG_NOT_FOUND`, `MMP_CONFIG_INVALID`, `MMP_NOT_ENABLED`, `MMP_MIN_FREEZE_NOT_ELAPSED`, `MMP_NOT_CONFIGURED`, `RFQ_VENUE_UNAVAILABLE`, `ADDRESS_BOOK_ENTRY_NOT_FOUND`, `ADDRESS_BOOK_INVALID_LABEL`, `ADDRESS_BOOK_OWN_ACCOUNT`, `ADDRESS_BOOK_PARADEX_ACCOUNT`, `ADDRESS_BOOK_DUPLICATE_ADDRESS`, `ADDRESS_BOOK_LIMIT_REACHED`, `ADDRESS_BOOK_INVALID_CHAIN`, `ADDRESS_BOOK_INVALID_ADDRESS`, `ADDRESS_BOOK_NOT_PARADEX_ACCOUNT`, `ADDRESS_BOOK_REPEATED_IN_IMPORT`, `SUBACCOUNT_HAS_FUNDS`, `INVALID_SIGNATURE`, `GRANT_EXPIRED`, `INVALID_ENVIRONMENT`, `SCOPE_NOT_ALLOWED`, `LIMIT_INVALID`, `NONCE_REUSED`, `ACCOUNT_NOT_ELIGIBLE`, `INVALID_GRANT`, `SESSION_KEY_IN_USE`, `SESSION_LIMIT_REACHED`, `BUILDER_APPROVAL_LIMIT_REACHED`, `BUILDER_APPROVAL_STALE`, `SESSIONS_DISABLED`, `SESSION_REVOKED`, `SESSION_EXPIRED`
- `message` (string, optional) — detailed description of error and how to address it

### 401 Unauthorized Error

Unauthorized

- `data` (ResponsesApiErrorData, optional) — any additional data related to the error
- `error` (enum, optional) — unique immutable string identifier for specific error
  - Allowed values: `VALIDATION_ERROR`, `BINDING_ERROR`, `INTERNAL_ERROR`, `NOT_FOUND`, `SERVICE_UNAVAILABLE`, `INVALID_REQUEST_PARAMETER`, `ORDER_ID_NOT_FOUND`, `ORDER_IS_CLOSED`, `ORDER_IS_NOT_OPEN`, `INVALID_ORDER_SIZE`, `CLIENT_ORDER_ID_NOT_FOUND`, `DUPLICATED_CLIENT_ID`, `INVALID_SYMBOL`, `INVALID_TOKEN`, `INVALID_ETHEREUM_ADDRESS`, `INVALID_ETHEREUM_SIGNATURE`, `INVALID_STARKNET_ADDRESS`, `INVALID_STARKNET_SIGNATURE`, `STARKNET_SIGNATURE_VERIFICATION_FAILED`, `ETHEREUM_SIGNER_MISMATCH`, `ETHEREUM_HASH_MISMATCH`, `NOT_ONBOARDED`, `INVALID_TIMESTAMP`, `INVALID_BLOCK_EXPIRATION`, `ACCOUNT_NOT_FOUND`, `MEDIA_NOT_FOUND`, `INVALID_ORDER_SIGNATURE`, `PUBLIC_KEY_INVALID`, `UNAUTHORIZED_ETHEREUM_ADDRESS`, `UNAUTHORIZED_ERROR`, `ETHEREUM_ADDRESS_ALREADY_ONBOARDED`, `EVM_ADDRESS_ALREADY_ONBOARDED`, `MARKET_NOT_FOUND`, `ALLOWLIST_ENTRY_NOT_FOUND`, `USERNAME_IN_USE`, `GEO_IP_BLOCK`, `ETHEREUM_ADDRESS_BLOCKED`, `PROGRAM_NOT_FOUND`, `PROGRAM_NOT_SUPPORTED`, `INVALID_DASHBOARD`, `MARKET_NOT_OPEN`, `MARKET_NOT_SETTLED`, `INVALID_REFERRAL_CODE`, `REQUEST_NOT_ALLOWED`, `PARENT_ADDRESS_ALREADY_ONBOARDED`, `INVALID_PARENT_ACCOUNT`, `INVALID_VAULT_OPERATOR_CHAIN`, `VAULT_OPERATOR_ALREADY_ONBOARDED`, `VAULT_NAME_IN_USE`, `VAULT_NOT_FOUND`, `VAULT_STRATEGY_NOT_FOUND`, `VAULT_LIMIT_REACHED`, `VAULT_DATA_PRIVATE`, `BATCH_SIZE_OUT_OF_RANGE`, `ISOLATED_MARKET_ACCOUNT_MISMATCH`, `NO_ACCESS_TO_MARKET`, `POINTS_SUMMARY_NOT_FOUND`, `ALGO_ID_NOT_FOUND`, `INVALID_DERIVATION_PATH`, `PROFILE_STATS_NOT_FOUND`, `INVALID_CHAIN`, `INVALID_LAYERSWAP_SWAP`, `INVALID_DEPOSIT_ADDRESS`, `SOCIAL_USERNAME_IN_USE`, `INVALID_OAUTH_REQUEST`, `RPI_ACCOUNT_NOT_WHITELISTED`, `SYSTEM_STATUS_POST_ONLY`, `SYSTEM_STATUS_CANCEL_ONLY`, `INVALID_MARKETING_CODE`, `OFFER_NOT_FOUND`, `MARKET_MARGIN_RESTRICTED`, `NOT_UNIQUE`, `ACCOUNT_ALREADY_REFERRED`, `ONBOARDING_PERIOD_EXPIRED`, `ONBOARDING_RATE_LIMITED`, `RFQ_CREATE_BUDGET_EXCEEDED`, `SUBACCOUNTS_LIMIT_EXCEEDED`, `INSUFFICIENT_MIN_CHAIN_BALANCE`, `CONTRACT_WALLET_NOT_SUPPORTED`, `INSUFFICIENT_EVM_BALANCE`, `PORTFOLIO_MARGIN_ONBOARDING_DISABLED`, `PORTFOLIO_MARGIN_INVALID_ACCOUNT_KIND`, `EVM_VAULT_OPERATORS_DISABLED`, `VAULT_OPERATOR_OWNER_PROOF_REQUIRED`, `PARENT_PROOF_REQUIRED`, `STARKNET_PARENT_ONBOARDING_DISABLED`, `INVALID_EVM_SIGNATURE`, `EVM_SIGNATURE_VERIFICATION_FAILED`, `INVALID_SUBKEY`, `SUBKEY_NOT_ACTIVATABLE`, `SUBKEY_REVOKED`, `TOKEN_LIMIT_REACHED`, `INVALID_TOKEN_SCOPE`, `IP_NOT_ALLOWED`, `INSUFFICIENT_TRANSFERRABLE_XP`, `TRANSFER_LIMIT_REACHED`, `XP_TRANSFERS_DISABLED`, `BLOCK_TRADE_NOT_FOUND`, `BLOCK_TRADE_NOT_ENABLED`, `BLOCK_TRADE_EXPIRED`, `BLOCK_TRADE_ALREADY_CANCELLED`, `BLOCK_TRADE_INVALID_STATUS`, `BLOCK_TRADE_UNAUTHORIZED`, `BLOCK_TRADE_MISSING_TRADES`, `BLOCK_TRADE_MISSING_SIGNERS`, `BLOCK_TRADE_MISSING_SIGNATURE`, `BLOCK_TRADE_ACCOUNT_MISMATCH`, `BLOCK_TRADE_INVALID_SIGNATURE`, `BLOCK_TRADE_SIGNER_KEY_UNAUTHORIZED`, `BLOCK_TRADE_REPLAYED_SIGNATURE`, `BLOCK_TRADE_SELF_TRADE`, `OFFER_ALREADY_CANCELLED`, `OFFER_INVALID_STATUS`, `OFFER_UNAUTHORIZED`, `OFFER_PARENT_MISMATCH`, `OFFER_PARENT_NOT_ACCEPTING`, `PORTFOLIO_MARGIN_CONFIG_NOT_FOUND`, `MARGIN_CONFIG_NOT_FOUND`, `MMP_CONFIG_INVALID`, `MMP_NOT_ENABLED`, `MMP_MIN_FREEZE_NOT_ELAPSED`, `MMP_NOT_CONFIGURED`, `RFQ_VENUE_UNAVAILABLE`, `ADDRESS_BOOK_ENTRY_NOT_FOUND`, `ADDRESS_BOOK_INVALID_LABEL`, `ADDRESS_BOOK_OWN_ACCOUNT`, `ADDRESS_BOOK_PARADEX_ACCOUNT`, `ADDRESS_BOOK_DUPLICATE_ADDRESS`, `ADDRESS_BOOK_LIMIT_REACHED`, `ADDRESS_BOOK_INVALID_CHAIN`, `ADDRESS_BOOK_INVALID_ADDRESS`, `ADDRESS_BOOK_NOT_PARADEX_ACCOUNT`, `ADDRESS_BOOK_REPEATED_IN_IMPORT`, `SUBACCOUNT_HAS_FUNDS`, `INVALID_SIGNATURE`, `GRANT_EXPIRED`, `INVALID_ENVIRONMENT`, `SCOPE_NOT_ALLOWED`, `LIMIT_INVALID`, `NONCE_REUSED`, `ACCOUNT_NOT_ELIGIBLE`, `INVALID_GRANT`, `SESSION_KEY_IN_USE`, `SESSION_LIMIT_REACHED`, `BUILDER_APPROVAL_LIMIT_REACHED`, `BUILDER_APPROVAL_STALE`, `SESSIONS_DISABLED`, `SESSION_REVOKED`, `SESSION_EXPIRED`
- `message` (string, optional) — detailed description of error and how to address it

### 403 Forbidden Error

Requires the account's main key

- `data` (ResponsesApiErrorData, optional) — any additional data related to the error
- `error` (enum, optional) — unique immutable string identifier for specific error
  - Allowed values: `VALIDATION_ERROR`, `BINDING_ERROR`, `INTERNAL_ERROR`, `NOT_FOUND`, `SERVICE_UNAVAILABLE`, `INVALID_REQUEST_PARAMETER`, `ORDER_ID_NOT_FOUND`, `ORDER_IS_CLOSED`, `ORDER_IS_NOT_OPEN`, `INVALID_ORDER_SIZE`, `CLIENT_ORDER_ID_NOT_FOUND`, `DUPLICATED_CLIENT_ID`, `INVALID_SYMBOL`, `INVALID_TOKEN`, `INVALID_ETHEREUM_ADDRESS`, `INVALID_ETHEREUM_SIGNATURE`, `INVALID_STARKNET_ADDRESS`, `INVALID_STARKNET_SIGNATURE`, `STARKNET_SIGNATURE_VERIFICATION_FAILED`, `ETHEREUM_SIGNER_MISMATCH`, `ETHEREUM_HASH_MISMATCH`, `NOT_ONBOARDED`, `INVALID_TIMESTAMP`, `INVALID_BLOCK_EXPIRATION`, `ACCOUNT_NOT_FOUND`, `MEDIA_NOT_FOUND`, `INVALID_ORDER_SIGNATURE`, `PUBLIC_KEY_INVALID`, `UNAUTHORIZED_ETHEREUM_ADDRESS`, `UNAUTHORIZED_ERROR`, `ETHEREUM_ADDRESS_ALREADY_ONBOARDED`, `EVM_ADDRESS_ALREADY_ONBOARDED`, `MARKET_NOT_FOUND`, `ALLOWLIST_ENTRY_NOT_FOUND`, `USERNAME_IN_USE`, `GEO_IP_BLOCK`, `ETHEREUM_ADDRESS_BLOCKED`, `PROGRAM_NOT_FOUND`, `PROGRAM_NOT_SUPPORTED`, `INVALID_DASHBOARD`, `MARKET_NOT_OPEN`, `MARKET_NOT_SETTLED`, `INVALID_REFERRAL_CODE`, `REQUEST_NOT_ALLOWED`, `PARENT_ADDRESS_ALREADY_ONBOARDED`, `INVALID_PARENT_ACCOUNT`, `INVALID_VAULT_OPERATOR_CHAIN`, `VAULT_OPERATOR_ALREADY_ONBOARDED`, `VAULT_NAME_IN_USE`, `VAULT_NOT_FOUND`, `VAULT_STRATEGY_NOT_FOUND`, `VAULT_LIMIT_REACHED`, `VAULT_DATA_PRIVATE`, `BATCH_SIZE_OUT_OF_RANGE`, `ISOLATED_MARKET_ACCOUNT_MISMATCH`, `NO_ACCESS_TO_MARKET`, `POINTS_SUMMARY_NOT_FOUND`, `ALGO_ID_NOT_FOUND`, `INVALID_DERIVATION_PATH`, `PROFILE_STATS_NOT_FOUND`, `INVALID_CHAIN`, `INVALID_LAYERSWAP_SWAP`, `INVALID_DEPOSIT_ADDRESS`, `SOCIAL_USERNAME_IN_USE`, `INVALID_OAUTH_REQUEST`, `RPI_ACCOUNT_NOT_WHITELISTED`, `SYSTEM_STATUS_POST_ONLY`, `SYSTEM_STATUS_CANCEL_ONLY`, `INVALID_MARKETING_CODE`, `OFFER_NOT_FOUND`, `MARKET_MARGIN_RESTRICTED`, `NOT_UNIQUE`, `ACCOUNT_ALREADY_REFERRED`, `ONBOARDING_PERIOD_EXPIRED`, `ONBOARDING_RATE_LIMITED`, `RFQ_CREATE_BUDGET_EXCEEDED`, `SUBACCOUNTS_LIMIT_EXCEEDED`, `INSUFFICIENT_MIN_CHAIN_BALANCE`, `CONTRACT_WALLET_NOT_SUPPORTED`, `INSUFFICIENT_EVM_BALANCE`, `PORTFOLIO_MARGIN_ONBOARDING_DISABLED`, `PORTFOLIO_MARGIN_INVALID_ACCOUNT_KIND`, `EVM_VAULT_OPERATORS_DISABLED`, `VAULT_OPERATOR_OWNER_PROOF_REQUIRED`, `PARENT_PROOF_REQUIRED`, `STARKNET_PARENT_ONBOARDING_DISABLED`, `INVALID_EVM_SIGNATURE`, `EVM_SIGNATURE_VERIFICATION_FAILED`, `INVALID_SUBKEY`, `SUBKEY_NOT_ACTIVATABLE`, `SUBKEY_REVOKED`, `TOKEN_LIMIT_REACHED`, `INVALID_TOKEN_SCOPE`, `IP_NOT_ALLOWED`, `INSUFFICIENT_TRANSFERRABLE_XP`, `TRANSFER_LIMIT_REACHED`, `XP_TRANSFERS_DISABLED`, `BLOCK_TRADE_NOT_FOUND`, `BLOCK_TRADE_NOT_ENABLED`, `BLOCK_TRADE_EXPIRED`, `BLOCK_TRADE_ALREADY_CANCELLED`, `BLOCK_TRADE_INVALID_STATUS`, `BLOCK_TRADE_UNAUTHORIZED`, `BLOCK_TRADE_MISSING_TRADES`, `BLOCK_TRADE_MISSING_SIGNERS`, `BLOCK_TRADE_MISSING_SIGNATURE`, `BLOCK_TRADE_ACCOUNT_MISMATCH`, `BLOCK_TRADE_INVALID_SIGNATURE`, `BLOCK_TRADE_SIGNER_KEY_UNAUTHORIZED`, `BLOCK_TRADE_REPLAYED_SIGNATURE`, `BLOCK_TRADE_SELF_TRADE`, `OFFER_ALREADY_CANCELLED`, `OFFER_INVALID_STATUS`, `OFFER_UNAUTHORIZED`, `OFFER_PARENT_MISMATCH`, `OFFER_PARENT_NOT_ACCEPTING`, `PORTFOLIO_MARGIN_CONFIG_NOT_FOUND`, `MARGIN_CONFIG_NOT_FOUND`, `MMP_CONFIG_INVALID`, `MMP_NOT_ENABLED`, `MMP_MIN_FREEZE_NOT_ELAPSED`, `MMP_NOT_CONFIGURED`, `RFQ_VENUE_UNAVAILABLE`, `ADDRESS_BOOK_ENTRY_NOT_FOUND`, `ADDRESS_BOOK_INVALID_LABEL`, `ADDRESS_BOOK_OWN_ACCOUNT`, `ADDRESS_BOOK_PARADEX_ACCOUNT`, `ADDRESS_BOOK_DUPLICATE_ADDRESS`, `ADDRESS_BOOK_LIMIT_REACHED`, `ADDRESS_BOOK_INVALID_CHAIN`, `ADDRESS_BOOK_INVALID_ADDRESS`, `ADDRESS_BOOK_NOT_PARADEX_ACCOUNT`, `ADDRESS_BOOK_REPEATED_IN_IMPORT`, `SUBACCOUNT_HAS_FUNDS`, `INVALID_SIGNATURE`, `GRANT_EXPIRED`, `INVALID_ENVIRONMENT`, `SCOPE_NOT_ALLOWED`, `LIMIT_INVALID`, `NONCE_REUSED`, `ACCOUNT_NOT_ELIGIBLE`, `INVALID_GRANT`, `SESSION_KEY_IN_USE`, `SESSION_LIMIT_REACHED`, `BUILDER_APPROVAL_LIMIT_REACHED`, `BUILDER_APPROVAL_STALE`, `SESSIONS_DISABLED`, `SESSION_REVOKED`, `SESSION_EXPIRED`
- `message` (string, optional) — detailed description of error and how to address it

### 404 Not Found Error

Not Found

- `data` (ResponsesApiErrorData, optional) — any additional data related to the error
- `error` (enum, optional) — unique immutable string identifier for specific error
  - Allowed values: `VALIDATION_ERROR`, `BINDING_ERROR`, `INTERNAL_ERROR`, `NOT_FOUND`, `SERVICE_UNAVAILABLE`, `INVALID_REQUEST_PARAMETER`, `ORDER_ID_NOT_FOUND`, `ORDER_IS_CLOSED`, `ORDER_IS_NOT_OPEN`, `INVALID_ORDER_SIZE`, `CLIENT_ORDER_ID_NOT_FOUND`, `DUPLICATED_CLIENT_ID`, `INVALID_SYMBOL`, `INVALID_TOKEN`, `INVALID_ETHEREUM_ADDRESS`, `INVALID_ETHEREUM_SIGNATURE`, `INVALID_STARKNET_ADDRESS`, `INVALID_STARKNET_SIGNATURE`, `STARKNET_SIGNATURE_VERIFICATION_FAILED`, `ETHEREUM_SIGNER_MISMATCH`, `ETHEREUM_HASH_MISMATCH`, `NOT_ONBOARDED`, `INVALID_TIMESTAMP`, `INVALID_BLOCK_EXPIRATION`, `ACCOUNT_NOT_FOUND`, `MEDIA_NOT_FOUND`, `INVALID_ORDER_SIGNATURE`, `PUBLIC_KEY_INVALID`, `UNAUTHORIZED_ETHEREUM_ADDRESS`, `UNAUTHORIZED_ERROR`, `ETHEREUM_ADDRESS_ALREADY_ONBOARDED`, `EVM_ADDRESS_ALREADY_ONBOARDED`, `MARKET_NOT_FOUND`, `ALLOWLIST_ENTRY_NOT_FOUND`, `USERNAME_IN_USE`, `GEO_IP_BLOCK`, `ETHEREUM_ADDRESS_BLOCKED`, `PROGRAM_NOT_FOUND`, `PROGRAM_NOT_SUPPORTED`, `INVALID_DASHBOARD`, `MARKET_NOT_OPEN`, `MARKET_NOT_SETTLED`, `INVALID_REFERRAL_CODE`, `REQUEST_NOT_ALLOWED`, `PARENT_ADDRESS_ALREADY_ONBOARDED`, `INVALID_PARENT_ACCOUNT`, `INVALID_VAULT_OPERATOR_CHAIN`, `VAULT_OPERATOR_ALREADY_ONBOARDED`, `VAULT_NAME_IN_USE`, `VAULT_NOT_FOUND`, `VAULT_STRATEGY_NOT_FOUND`, `VAULT_LIMIT_REACHED`, `VAULT_DATA_PRIVATE`, `BATCH_SIZE_OUT_OF_RANGE`, `ISOLATED_MARKET_ACCOUNT_MISMATCH`, `NO_ACCESS_TO_MARKET`, `POINTS_SUMMARY_NOT_FOUND`, `ALGO_ID_NOT_FOUND`, `INVALID_DERIVATION_PATH`, `PROFILE_STATS_NOT_FOUND`, `INVALID_CHAIN`, `INVALID_LAYERSWAP_SWAP`, `INVALID_DEPOSIT_ADDRESS`, `SOCIAL_USERNAME_IN_USE`, `INVALID_OAUTH_REQUEST`, `RPI_ACCOUNT_NOT_WHITELISTED`, `SYSTEM_STATUS_POST_ONLY`, `SYSTEM_STATUS_CANCEL_ONLY`, `INVALID_MARKETING_CODE`, `OFFER_NOT_FOUND`, `MARKET_MARGIN_RESTRICTED`, `NOT_UNIQUE`, `ACCOUNT_ALREADY_REFERRED`, `ONBOARDING_PERIOD_EXPIRED`, `ONBOARDING_RATE_LIMITED`, `RFQ_CREATE_BUDGET_EXCEEDED`, `SUBACCOUNTS_LIMIT_EXCEEDED`, `INSUFFICIENT_MIN_CHAIN_BALANCE`, `CONTRACT_WALLET_NOT_SUPPORTED`, `INSUFFICIENT_EVM_BALANCE`, `PORTFOLIO_MARGIN_ONBOARDING_DISABLED`, `PORTFOLIO_MARGIN_INVALID_ACCOUNT_KIND`, `EVM_VAULT_OPERATORS_DISABLED`, `VAULT_OPERATOR_OWNER_PROOF_REQUIRED`, `PARENT_PROOF_REQUIRED`, `STARKNET_PARENT_ONBOARDING_DISABLED`, `INVALID_EVM_SIGNATURE`, `EVM_SIGNATURE_VERIFICATION_FAILED`, `INVALID_SUBKEY`, `SUBKEY_NOT_ACTIVATABLE`, `SUBKEY_REVOKED`, `TOKEN_LIMIT_REACHED`, `INVALID_TOKEN_SCOPE`, `IP_NOT_ALLOWED`, `INSUFFICIENT_TRANSFERRABLE_XP`, `TRANSFER_LIMIT_REACHED`, `XP_TRANSFERS_DISABLED`, `BLOCK_TRADE_NOT_FOUND`, `BLOCK_TRADE_NOT_ENABLED`, `BLOCK_TRADE_EXPIRED`, `BLOCK_TRADE_ALREADY_CANCELLED`, `BLOCK_TRADE_INVALID_STATUS`, `BLOCK_TRADE_UNAUTHORIZED`, `BLOCK_TRADE_MISSING_TRADES`, `BLOCK_TRADE_MISSING_SIGNERS`, `BLOCK_TRADE_MISSING_SIGNATURE`, `BLOCK_TRADE_ACCOUNT_MISMATCH`, `BLOCK_TRADE_INVALID_SIGNATURE`, `BLOCK_TRADE_SIGNER_KEY_UNAUTHORIZED`, `BLOCK_TRADE_REPLAYED_SIGNATURE`, `BLOCK_TRADE_SELF_TRADE`, `OFFER_ALREADY_CANCELLED`, `OFFER_INVALID_STATUS`, `OFFER_UNAUTHORIZED`, `OFFER_PARENT_MISMATCH`, `OFFER_PARENT_NOT_ACCEPTING`, `PORTFOLIO_MARGIN_CONFIG_NOT_FOUND`, `MARGIN_CONFIG_NOT_FOUND`, `MMP_CONFIG_INVALID`, `MMP_NOT_ENABLED`, `MMP_MIN_FREEZE_NOT_ELAPSED`, `MMP_NOT_CONFIGURED`, `RFQ_VENUE_UNAVAILABLE`, `ADDRESS_BOOK_ENTRY_NOT_FOUND`, `ADDRESS_BOOK_INVALID_LABEL`, `ADDRESS_BOOK_OWN_ACCOUNT`, `ADDRESS_BOOK_PARADEX_ACCOUNT`, `ADDRESS_BOOK_DUPLICATE_ADDRESS`, `ADDRESS_BOOK_LIMIT_REACHED`, `ADDRESS_BOOK_INVALID_CHAIN`, `ADDRESS_BOOK_INVALID_ADDRESS`, `ADDRESS_BOOK_NOT_PARADEX_ACCOUNT`, `ADDRESS_BOOK_REPEATED_IN_IMPORT`, `SUBACCOUNT_HAS_FUNDS`, `INVALID_SIGNATURE`, `GRANT_EXPIRED`, `INVALID_ENVIRONMENT`, `SCOPE_NOT_ALLOWED`, `LIMIT_INVALID`, `NONCE_REUSED`, `ACCOUNT_NOT_ELIGIBLE`, `INVALID_GRANT`, `SESSION_KEY_IN_USE`, `SESSION_LIMIT_REACHED`, `BUILDER_APPROVAL_LIMIT_REACHED`, `BUILDER_APPROVAL_STALE`, `SESSIONS_DISABLED`, `SESSION_REVOKED`, `SESSION_EXPIRED`
- `message` (string, optional) — detailed description of error and how to address it

## Types

### responses.Fees

- `commission_rate` (string, optional) — deprecated, always zero
- `dated_option_maker_rate` (string, optional)
- `dated_option_taker_rate` (string, optional)
- `discount_rate` (string, optional) — deprecated, always zero
- `maker_rate` (string, optional)
- `perp_option_maker_rate` (string, optional)
- `perp_option_taker_rate` (string, optional)
- `spot_maker_rate` (string, optional)
- `spot_taker_rate` (string, optional)
- `taker_rate` (string, optional)

### responses.VolumeTierKindInfo

- `tier` (string, optional) — Effective tier name, e.g. "VIP 1"
- `volume` (string, optional) — Traded volume for the tier's duration window

### ResponsesApiErrorData

any additional data related to the error

## Examples

**Response**

```json
{
  "account": "0x495d2eb5236a12b8b4ad7d3849ce6a203ce21c43f473c248dfd5ce70d9454fa",
  "archived_at": 1681471234972,
  "created_at": 1681471234972,
  "derivation_path": "m/44'/9004'/0'/0/1",
  "fees": {
    "commission_rate": "0.0001",
    "dated_option_maker_rate": "0.0001",
    "dated_option_taker_rate": "0.0001",
    "discount_rate": "0.9",
    "maker_rate": "0.0001",
    "perp_option_maker_rate": "0.0001",
    "perp_option_taker_rate": "0.0001",
    "spot_maker_rate": "0.0001",
    "spot_taker_rate": "0.0001",
    "taker_rate": "0.0001"
  },
  "has_ecosystem_nft": false,
  "isolated_market": "ETHUSD-PERP",
  "kind": "main",
  "parent_account": "0x495d2eb5236a12b8b4ad7d3849ce6a203ce21c43f473c248dfd5ce70d",
  "public_key": "0x495d2eb5236a12b8b4ad7d3849ce6a203ce21c43f473c248dfd5ce70d",
  "username": "username",
  "volume_tiers": {}
}
```

**SDK Code**

```python
import requests

url = "https://api.prod.paradex.trade/v1/account/subaccounts/address"

headers = {"Authorization": "<apiKey>"}

response = requests.delete(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.prod.paradex.trade/v1/account/subaccounts/address';
const options = {method: 'DELETE', headers: {Authorization: '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.prod.paradex.trade/v1/account/subaccounts/address"

	req, _ := http.NewRequest("DELETE", url, nil)

	req.Header.Add("Authorization", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.prod.paradex.trade/v1/account/subaccounts/address")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)
request["Authorization"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.delete("https://api.prod.paradex.trade/v1/account/subaccounts/address")
  .header("Authorization", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('DELETE', 'https://api.prod.paradex.trade/v1/account/subaccounts/address', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.prod.paradex.trade/v1/account/subaccounts/address");
var request = new RestRequest(Method.DELETE);
request.AddHeader("Authorization", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.prod.paradex.trade/v1/account/subaccounts/address")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```