{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/whitebit/main/json-schema/whitebit-asset-schema.json",
  "title": "Asset",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/whitebit-http-v4-openapi.yml#/components/schemas/Asset",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Full name of cryptocurrency"
    },
    "unified_cryptoasset_id": {
      "type": "integer",
      "description": "Unique ID of cryptocurrency assigned by Unified Cryptoasset ID, 0 if unknown"
    },
    "can_withdraw": {
      "type": "boolean",
      "description": "Indicates withdrawal status (enabled or disabled)"
    },
    "can_deposit": {
      "type": "boolean",
      "description": "Indicates deposit status (enabled or disabled)"
    },
    "min_withdraw": {
      "type": "string",
      "description": "Minimum withdrawal amount for the asset"
    },
    "max_withdraw": {
      "type": "string",
      "description": "Maximum withdrawal amount for the asset"
    },
    "maker_fee": {
      "type": "string",
      "description": "Maker fee expressed as a direct percentage value (e.g., \"0.1\" means 0.1%). GET /api/v4/public/markets reports the per-market `makerFee` in the same format."
    },
    "taker_fee": {
      "type": "string",
      "description": "Taker fee expressed as a direct percentage value (e.g., \"0.1\" means 0.1%). GET /api/v4/public/markets reports the per-market `takerFee` in the same format."
    },
    "min_deposit": {
      "type": "string",
      "description": "Min deposit amount"
    },
    "max_deposit": {
      "type": "string",
      "description": "Max deposit amount; 0 if unlimited"
    },
    "currency_precision": {
      "type": "integer",
      "description": "Max number of digits to the right of the decimal point"
    },
    "is_memo": {
      "type": "boolean",
      "description": "Indicates whether the asset requires a memo address"
    },
    "memo": {
      "type": "object",
      "description": "Indicates whether the asset requires a memo for deposits and withdrawals",
      "properties": {
        "deposit": {
          "type": "boolean"
        },
        "withdraw": {
          "type": "boolean"
        }
      }
    },
    "networks": {
      "type": "object",
      "description": "Currency networks",
      "properties": {
        "deposits": {
          "type": "array",
          "description": "Networks available for depositing. Absent when deposits are disabled for the asset (can_deposit: false). Examples of assets where the field may be absent: AMB, AVA, A, KZT.",
          "items": {
            "type": "string"
          }
        },
        "withdraws": {
          "type": "array",
          "description": "Networks available for withdrawing. Absent when withdrawals are disabled for the asset (can_withdraw: false). Examples: AVA, A (Vaulta).",
          "items": {
            "type": "string"
          }
        },
        "default": {
          "type": "string",
          "description": "Default network used when no specific network is selected by the user. Absent when multiple networks exist but no explicit default priority has been configured (e.g., AGRS, ANKR, APE, POL)."
        }
      }
    },
    "limits": {
      "type": "object",
      "description": "Currency limits by each network. May be absent from the response.",
      "properties": {
        "deposit": {
          "type": "object",
          "description": "Deposits limits",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "min": {
                "type": "string"
              },
              "max": {
                "type": "string"
              }
            }
          }
        },
        "withdraw": {
          "type": "object",
          "description": "Withdraws limits",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "min": {
                "type": "string"
              },
              "max": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "confirmations": {
      "type": "object",
      "description": "Required blockchain confirmations for deposits, mapped by network name (e.g., {\"BTC\": 2, \"ERC20\": 20}). Absent for fiat currencies, demo assets, and internal exchange tokens (e.g., UAH, EUR, DBTC, DUSDT). Individual network keys may also be absent if a network was historically supported but is currently disabled.",
      "additionalProperties": {
        "type": "integer"
      }
    },
    "confirmations_for_trading": {
      "type": "object",
      "description": "Blockchain confirmations after which a deposit is credited for trading, mapped by network name (e.g., {\"BTC\": 1}). Until the count in confirmations is reached, the credited amount can be traded but not withdrawn, transferred to a collateral balance, or used as collateral. This map carries exactly the same network keys as confirmations. Where a network has no earlier threshold configured, or while the platform has early trading availability switched off, the value repeats the confirmations count, because trading then opens at the same point as withdrawal.",
      "additionalProperties": {
        "type": "integer"
      }
    },
    "providers": {
      "type": "object",
      "description": "Payment provider identifiers for fiat assets (e.g., VISAMASTER, ADVCASH, GEOPAY). Use these identifiers as the network parameter value when making fiat deposits or withdrawals via the API — equivalent to network codes such as ERC20 or TRC20 for crypto assets.",
      "properties": {
        "deposits": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "withdraws": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}