{
  "openapi": "3.1.0",
  "info": {
    "title": "Splash DeFi REST API",
    "version": "0.1.0",
    "description": "DeBank-compatible numeric JSON for HyperCore portfolios, Aave V1/V2/V3/V4 and Compound V2/III, native assets and curated major ERC20 wallets. Includes native single-address and batch APIs with exact raw wallet amounts as strings. AccessKey is optional and ignored. Token discovery is incomplete: unknown ERC20s, receipt tokens, rewards and other protocols are excluded. Missing prices remain explicit and source failures are not empty wallets. See /v1/splash/coverage for exact registries and limits."
  },
  "servers": [
    {
      "url": "https://splash.dudidum.com"
    }
  ],
  "security": [],
  "paths": {
    "/v1/addresses/{address}": {
      "get": {
        "operationId": "lookupAddress",
        "summary": "Get an address's HyperCore portfolio and activity",
        "description": "Includes up to 5 accounts and 32 perpetual markets. Agent addresses resolve to the associated trading account. Successful lookups are cached for 30 seconds. The shared process budget is 1100 weighted upstream units per minute and at most 4 distinct lookups can run concurrently.",
        "parameters": [
          {
            "name": "address",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Address"
            },
            "example": "0xdfc24b077bc1425ad1dea75bcb6f8158e10df303"
          },
          {
            "name": "includeSubaccounts",
            "in": "query",
            "description": "Include discovered subaccounts",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lookup, possibly with partial coverage or source failures",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookup"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "405": {
            "$ref": "#/components/responses/MethodNotAllowed"
          },
          "500": {
            "description": "Unexpected server failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Capacity exceeded, or all source queries failed",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Error"
                    },
                    {
                      "$ref": "#/components/schemas/Lookup"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/batches": {
      "post": {
        "operationId": "createBatch",
        "summary": "Start a batch of up to 100 unique addresses",
        "description": "Addresses are deduplicated case-insensitively. Up to two jobs run concurrently. Processing waits for the upstream budget. Results are kept in memory for up to one hour after completion, subject to a 20-job capacity, and are cleared on restart.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "addresses"
                ],
                "additionalProperties": false,
                "properties": {
                  "addresses": {
                    "oneOf": [
                      {
                        "type": "string",
                        "description": "Newline, comma, semicolon or whitespace separated addresses"
                      },
                      {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 1000,
                        "items": {
                          "$ref": "#/components/schemas/Address"
                        }
                      }
                    ]
                  },
                  "includeSubaccounts": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted; poll Location for progress",
            "headers": {
              "Location": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Batch"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "413": {
            "description": "Request exceeds 64 KiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Use application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Batch capacity full",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/batches/{id}": {
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          }
        }
      ],
      "get": {
        "operationId": "getBatch",
        "summary": "Get batch progress, compact rows and unique-account totals",
        "responses": {
          "200": {
            "description": "Current snapshot",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Batch"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/BatchNotFound"
          }
        }
      },
      "delete": {
        "operationId": "cancelBatch",
        "summary": "Cancel remaining work while retaining completed rows",
        "responses": {
          "200": {
            "description": "Cancelled or already completed job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Batch"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/BatchNotFound"
          }
        }
      }
    },
    "/health": {
      "get": {
        "operationId": "getHealth",
        "summary": "Check process health, not upstream health",
        "responses": {
          "200": {
            "description": "Service is running",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "status",
                    "service"
                  ],
                  "properties": {
                    "status": {
                      "const": "ok"
                    },
                    "service": {
                      "const": "hyperliquid-lookup"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/chain": {
      "get": {
        "operationId": "debank_chain",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/chain",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankChain"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/chain/list": {
      "get": {
        "operationId": "debank_chain_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/chain/list",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/protocol": {
      "get": {
        "operationId": "debank_protocol",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/protocol",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankProtocol"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/protocol/list": {
      "get": {
        "operationId": "debank_protocol_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/protocol/list",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/protocol/all_list": {
      "get": {
        "operationId": "debank_protocol_all_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/protocol/all_list",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "chain_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/app_protocol/list": {
      "get": {
        "operationId": "debank_app_protocol_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/app_protocol/list",
        "description": "HyperCore app coverage only. No invented EVM-chain assets. Monetary values are JSON numbers.",
        "security": [],
        "parameters": [
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "hypercore-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DebankApp"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/pool": {
      "get": {
        "operationId": "debank_pool",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/pool",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankPool"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/token": {
      "get": {
        "operationId": "debank_token",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/token",
        "description": "Native assets and curated major ERC20s only. Not complete token discovery, even with is_all=true. Lending receipt tokens excluded; native ERC20 aliases counted once. Missing prices remain zero with partial-priced-subtotal header. Source failures return 503. Numeric raw_amount may exceed JavaScript safe integer precision; exact amounts are in the native portfolio API.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "curated-wallet",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankToken"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/token/list_by_ids": {
      "get": {
        "operationId": "debank_token_list_by_ids",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/token/list_by_ids",
        "description": "Native assets and curated major ERC20s only. Not complete token discovery, even with is_all=true. Lending receipt tokens excluded; native ERC20 aliases counted once. Missing prices remain zero with partial-priced-subtotal header. Source failures return 503. Numeric raw_amount may exceed JavaScript safe integer precision; exact amounts are in the native portfolio API.",
        "security": [],
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "curated-wallet",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/token/top_holders": {
      "get": {
        "operationId": "debank_token_top_holders",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/token/top_holders",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/token/history_price": {
      "get": {
        "operationId": "debank_token_history_price",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/token/history_price",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_at",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "price": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "price"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/used_chain_list": {
      "get": {
        "operationId": "debank_user_used_chain_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/used_chain_list",
        "description": "Net Aave/Compound positions plus native and curated major ERC20 wallets. total_balance additionally includes HyperCore equity. Not whole-wallet discovery: unknown tokens, receipts, rewards and other protocols excluded. See coverage matrix.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-and-curated-wallet",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/chain_balance": {
      "get": {
        "operationId": "debank_user_chain_balance",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/chain_balance",
        "description": "Net Aave/Compound positions plus native and curated major ERC20 wallets. total_balance additionally includes HyperCore equity. Not whole-wallet discovery: unknown tokens, receipts, rewards and other protocols excluded. See coverage matrix.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-and-curated-wallet",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "usd_value": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "usd_value"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/protocol": {
      "get": {
        "operationId": "debank_user_protocol",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/protocol",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "protocol_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankUserProtocol"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/complex_protocol_list": {
      "get": {
        "operationId": "debank_user_complex_protocol_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/complex_protocol_list",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/all_complex_protocol_list": {
      "get": {
        "operationId": "debank_user_all_complex_protocol_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/all_complex_protocol_list",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/simple_protocol_list": {
      "get": {
        "operationId": "debank_user_simple_protocol_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/simple_protocol_list",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/all_simple_protocol_list": {
      "get": {
        "operationId": "debank_user_all_simple_protocol_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/all_simple_protocol_list",
        "description": "Aave V1/V2/V3/V4 and Compound V2/III lending on registered EVM mainnets. All markets of a version on a chain share one protocol ID. Upstream failures return 503. TVL is omitted when not measured.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "lending-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/complex_app_list": {
      "get": {
        "operationId": "debank_user_complex_app_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/complex_app_list",
        "description": "HyperCore app coverage only. No invented EVM-chain assets. Monetary values are JSON numbers.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "hypercore-only",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DebankComplexApp"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/token": {
      "get": {
        "operationId": "debank_user_token",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/token",
        "description": "Native assets and curated major ERC20s only. Not complete token discovery, even with is_all=true. Lending receipt tokens excluded; native ERC20 aliases counted once. Missing prices remain zero with partial-priced-subtotal header. Source failures return 503. Numeric raw_amount may exceed JavaScript safe integer precision; exact amounts are in the native portfolio API.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "curated-wallet",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankUserToken"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/token_list": {
      "get": {
        "operationId": "debank_user_token_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/token_list",
        "description": "Native assets and curated major ERC20s only. Not complete token discovery, even with is_all=true. Lending receipt tokens excluded; native ERC20 aliases counted once. Missing prices remain zero with partial-priced-subtotal header. Source failures return 503. Numeric raw_amount may exceed JavaScript safe integer precision; exact amounts are in the native portfolio API.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "curated-wallet",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/all_token_list": {
      "get": {
        "operationId": "debank_user_all_token_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/all_token_list",
        "description": "Native assets and curated major ERC20s only. Not complete token discovery, even with is_all=true. Lending receipt tokens excluded; native ERC20 aliases counted once. Missing prices remain zero with partial-priced-subtotal header. Source failures return 503. Numeric raw_amount may exceed JavaScript safe integer precision; exact amounts are in the native portfolio API.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "curated-wallet",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/nft_list": {
      "get": {
        "operationId": "debank_user_nft_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/nft_list",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/all_nft_list": {
      "get": {
        "operationId": "debank_user_all_nft_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/all_nft_list",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/history_list": {
      "get": {
        "operationId": "debank_user_history_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/history_list",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page_count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankHistory"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/all_history_list": {
      "get": {
        "operationId": "debank_user_all_history_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/all_history_list",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page_count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankHistory"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/token_authorized_list": {
      "get": {
        "operationId": "debank_user_token_authorized_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/token_authorized_list",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/nft_authorized_list": {
      "get": {
        "operationId": "debank_user_nft_authorized_list",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/nft_authorized_list",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankNftApprovals"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/total_balance": {
      "get": {
        "operationId": "debank_user_total_balance",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/total_balance",
        "description": "Net Aave/Compound positions plus native and curated major ERC20 wallets. total_balance additionally includes HyperCore equity. Not whole-wallet discovery: unknown tokens, receipts, rewards and other protocols excluded. See coverage matrix.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "hypercore-lending-curated-wallet",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankTotal"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/chain_net_curve": {
      "get": {
        "operationId": "debank_user_chain_net_curve",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/chain_net_curve",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/user/total_net_curve": {
      "get": {
        "operationId": "debank_user_total_net_curve",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/user/total_net_curve",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/wallet/gas_market": {
      "get": {
        "operationId": "debank_wallet_gas_market",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/wallet/gas_market",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "chain_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/wallet/pre_exec_tx": {
      "post": {
        "operationId": "debank_wallet_pre_exec_tx",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "POST /v1/wallet/pre_exec_tx",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankSimulation"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tx"
                ],
                "properties": {
                  "tx": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "pending_tx_list": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/wallet/explain_tx": {
      "post": {
        "operationId": "debank_wallet_explain_tx",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "POST /v1/wallet/explain_tx",
        "description": "Schema-correct empty result for unsupported coverage. Not evidence of an empty wallet. Wallet pre-execution explicitly returns success=false.",
        "security": [],
        "parameters": [
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "empty-unsupported",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "abi": {
                      "type": "object",
                      "properties": {
                        "func": {
                          "type": "string"
                        },
                        "params": {
                          "type": "array",
                          "items": {}
                        }
                      },
                      "required": [
                        "func",
                        "params"
                      ]
                    },
                    "actions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true
                      }
                    }
                  },
                  "required": [
                    "abi",
                    "actions"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tx"
                ],
                "properties": {
                  "tx": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "pending_tx_list": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/account/units": {
      "get": {
        "operationId": "debank_account_units",
        "tags": [
          "DeBank Compatibility"
        ],
        "summary": "GET /v1/account/units",
        "description": "Unmetered virtual credit sentinel; not DeBank credits. Upstream limits still apply.",
        "security": [],
        "parameters": [
          {
            "name": "AccessKey",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Any value accepted, or omit. Ignored; never stored or forwarded."
          }
        ],
        "responses": {
          "200": {
            "description": "unmetered",
            "headers": {
              "X-Splash-Coverage": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Data-Scope": {
                "schema": {
                  "type": "string"
                }
              },
              "X-Splash-Valuation": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "balance": {
                      "type": "integer"
                    },
                    "stats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true
                      }
                    }
                  },
                  "required": [
                    "balance",
                    "stats"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or request body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "405": {
            "description": "Use the documented method",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          },
          "503": {
            "description": "Covered source unavailable; not disguised as empty holdings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebankError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/lending/addresses/{address}": {
      "get": {
        "operationId": "lookupLendingAddress",
        "summary": "Get Aave and Compound lending positions across registered EVM mainnets",
        "description": "Exact address only, no subaccounts. Aave V1 includes origination fees in debt. Supplies include collateral; net value is supplies minus debt. No wallet tokens or rewards. Native totals are decimal strings. Partial sources retain known positions and complete=false; all sources failed returns 503. See /v1/splash/coverage for exact markets and exclusions. Public RPCs can be overridden server-side with RPC_URL_<chainId>.",
        "parameters": [
          {
            "name": "address",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Address"
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "protocol_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Complete or explicitly partial lending portfolio",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LendingLookup"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "503": {
            "description": "Sources unavailable or capacity exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/LendingLookup"
                    },
                    {
                      "$ref": "#/components/schemas/Error"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/lending/batches": {
      "post": {
        "operationId": "createBatchLending",
        "summary": "Start a batch of up to 100 unique addresses (Aave/Compound lending)",
        "description": "Lending-only batch, up to 100 unique addresses. Exact addresses, no subaccounts. Two concurrent jobs, 20 retained jobs, one-hour expiry after completion. In-memory jobs clear on restart. Totals include supplyUsd and debtUsd; incomplete rows make totalValueUsd null. Separate from Hyperliquid batch IDs.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "addresses"
                ],
                "additionalProperties": false,
                "properties": {
                  "addresses": {
                    "oneOf": [
                      {
                        "type": "string",
                        "description": "Newline, comma, semicolon or whitespace separated addresses"
                      },
                      {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 1000,
                        "items": {
                          "$ref": "#/components/schemas/Address"
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted; poll Location for progress",
            "headers": {
              "Location": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LendingBatch"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "413": {
            "description": "Request exceeds 64 KiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Use application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Batch capacity full",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/lending/batches/{id}": {
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          }
        }
      ],
      "get": {
        "operationId": "getBatchLending",
        "summary": "Get batch progress, compact rows and unique-account totals (Aave/Compound lending)",
        "responses": {
          "200": {
            "description": "Current snapshot",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LendingBatch"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/BatchNotFound"
          }
        },
        "description": "Lending-only batch, up to 100 unique addresses. Exact addresses, no subaccounts. Two concurrent jobs, 20 retained jobs, one-hour expiry after completion. In-memory jobs clear on restart. Totals include supplyUsd and debtUsd; incomplete rows make totalValueUsd null. Separate from Hyperliquid batch IDs."
      },
      "delete": {
        "operationId": "cancelBatchLending",
        "summary": "Cancel remaining work while retaining completed rows (Aave/Compound lending)",
        "responses": {
          "200": {
            "description": "Cancelled or already completed job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LendingBatch"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/BatchNotFound"
          }
        },
        "description": "Lending-only batch, up to 100 unique addresses. Exact addresses, no subaccounts. Two concurrent jobs, 20 retained jobs, one-hour expiry after completion. In-memory jobs clear on restart. Totals include supplyUsd and debtUsd; incomplete rows make totalValueUsd null. Separate from Hyperliquid batch IDs."
      }
    },
    "/v1/portfolio/addresses/{address}": {
      "get": {
        "operationId": "lookupPortfolioAddress",
        "summary": "Get native and curated ERC20 balances plus Aave/Compound lending",
        "description": "Exact address, no subaccounts. Wallet + supplies - debt. Raw wallet amounts and native totals are exact decimal strings. Receipt tokens excluded, native ERC20 aliases counted once. discoveryComplete=false always: this is a curated token universe, not all-wallet discovery. Missing prices remain null, known subtotals preserved and totalValueUsd=null. Existing lending-only endpoints remain separate.",
        "parameters": [
          {
            "name": "address",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Address"
            }
          },
          {
            "name": "chain_ids",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Complete or explicitly partial lending portfolio",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortfolioLookup"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "503": {
            "description": "Sources unavailable or capacity exceeded",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/PortfolioLookup"
                    },
                    {
                      "$ref": "#/components/schemas/Error"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/portfolio/batches": {
      "post": {
        "operationId": "createBatchPortfolio",
        "summary": "Start a batch of up to 100 unique addresses (curated wallet + lending)",
        "description": "Wallet + lending batch, max 100 unique addresses, case-insensitive deduplication. Exact addresses only. Two jobs, 20 retained jobs, one-hour expiry after completion; reset on process restart. Native and curated major ERC20s only; receipt tokens excluded. Combined totals preserve partial and unpriced status. Separate from Hyperliquid and lending-only job IDs.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "addresses"
                ],
                "additionalProperties": false,
                "properties": {
                  "addresses": {
                    "oneOf": [
                      {
                        "type": "string",
                        "description": "Newline, comma, semicolon or whitespace separated addresses"
                      },
                      {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 1000,
                        "items": {
                          "$ref": "#/components/schemas/Address"
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted; poll Location for progress",
            "headers": {
              "Location": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortfolioBatch"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "413": {
            "description": "Request exceeds 64 KiB",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Use application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Batch capacity full",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/v1/portfolio/batches/{id}": {
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string",
            "format": "uuid"
          }
        }
      ],
      "get": {
        "operationId": "getBatchPortfolio",
        "summary": "Get batch progress, compact rows and unique-account totals (curated wallet + lending)",
        "responses": {
          "200": {
            "description": "Current snapshot",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortfolioBatch"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/BatchNotFound"
          }
        },
        "description": "Wallet + lending batch, max 100 unique addresses, case-insensitive deduplication. Exact addresses only. Two jobs, 20 retained jobs, one-hour expiry after completion; reset on process restart. Native and curated major ERC20s only; receipt tokens excluded. Combined totals preserve partial and unpriced status. Separate from Hyperliquid and lending-only job IDs."
      },
      "delete": {
        "operationId": "cancelBatchPortfolio",
        "summary": "Cancel remaining work while retaining completed rows (curated wallet + lending)",
        "responses": {
          "200": {
            "description": "Cancelled or already completed job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortfolioBatch"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/BatchNotFound"
          }
        },
        "description": "Wallet + lending batch, max 100 unique addresses, case-insensitive deduplication. Exact addresses only. Two jobs, 20 retained jobs, one-hour expiry after completion; reset on process restart. Native and curated major ERC20s only; receipt tokens excluded. Combined totals preserve partial and unpriced status. Separate from Hyperliquid and lending-only job IDs."
      }
    }
  },
  "components": {
    "responses": {
      "BatchNotFound": {
        "description": "Job not found or expired",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "BadRequest": {
        "description": "Invalid address or query parameter",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "MethodNotAllowed": {
        "description": "Use GET",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    },
    "schemas": {
      "Address": {
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]{40}$"
      },
      "NullableFlag": {
        "type": [
          "boolean",
          "null"
        ],
        "description": "Null means a negative result could not be established from the checked sources."
      },
      "Error": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      },
      "Lookup": {
        "type": "object",
        "required": [
          "requestedAddress",
          "resolvedAddress",
          "role",
          "fetchedAt",
          "status",
          "hasHoldingsNow",
          "hasObservedActivity",
          "hasHyperliquidFootprint",
          "accounts",
          "summary",
          "evidence",
          "warnings",
          "sources",
          "coverage",
          "cache"
        ],
        "properties": {
          "requestedAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "resolvedAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "role": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "role": {
                "type": "string",
                "enum": [
                  "missing",
                  "user",
                  "agent",
                  "vault",
                  "subAccount"
                ]
              },
              "data": {
                "type": "object"
              }
            }
          },
          "fetchedAt": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "enum": [
              "active_portfolio",
              "activity_found",
              "no_activity_found",
              "unknown"
            ]
          },
          "hasHoldingsNow": {
            "$ref": "#/components/schemas/NullableFlag"
          },
          "hasObservedActivity": {
            "$ref": "#/components/schemas/NullableFlag"
          },
          "hasHyperliquidFootprint": {
            "$ref": "#/components/schemas/NullableFlag"
          },
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Account"
            }
          },
          "summary": {
            "$ref": "#/components/schemas/Valuation"
          },
          "evidence": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "address",
                "kind",
                "count"
              ],
              "properties": {
                "address": {
                  "$ref": "#/components/schemas/Address"
                },
                "kind": {
                  "type": "string"
                },
                "count": {
                  "type": "integer",
                  "minimum": 1
                }
              }
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Source"
            }
          },
          "coverage": {
            "$ref": "#/components/schemas/Coverage"
          },
          "cache": {
            "type": "object",
            "required": [
              "hit",
              "ttlSeconds"
            ],
            "properties": {
              "hit": {
                "type": "boolean"
              },
              "ttlSeconds": {
                "type": "number",
                "minimum": 0
              }
            }
          }
        }
      },
      "NullableRecords": {
        "type": [
          "array",
          "null"
        ],
        "items": {
          "type": "object",
          "additionalProperties": true
        },
        "description": "Upstream records with original decimal strings preserved. Null means the source query failed."
      },
      "Account": {
        "type": "object",
        "required": [
          "address",
          "accountMode",
          "portfolio",
          "activity"
        ],
        "properties": {
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "accountMode": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "unifiedAccount",
              "portfolioMargin",
              "disabled",
              "default",
              "dexAbstraction",
              null
            ]
          },
          "portfolio": {
            "type": "object",
            "required": [
              "spotBalances",
              "vaultEquities",
              "staking",
              "borrowLend",
              "perpMarkets",
              "totalValueUsd",
              "valuationNote"
            ],
            "properties": {
              "spotBalances": {
                "$ref": "#/components/schemas/NullableRecords"
              },
              "vaultEquities": {
                "$ref": "#/components/schemas/NullableRecords"
              },
              "staking": {
                "type": [
                  "object",
                  "null"
                ],
                "additionalProperties": true
              },
              "borrowLend": {
                "type": [
                  "object",
                  "null"
                ],
                "additionalProperties": true
              },
              "perpMarkets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "dex",
                    "state",
                    "openOrders"
                  ],
                  "properties": {
                    "dex": {
                      "type": "string"
                    },
                    "state": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Raw margin summaries and assetPositions; decimal values are strings.",
                      "additionalProperties": true
                    },
                    "openOrders": {
                      "$ref": "#/components/schemas/NullableRecords"
                    }
                  }
                }
              },
              "totalValueUsd": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Estimated USD equity, or null when incomplete."
              },
              "valuation": {
                "$ref": "#/components/schemas/Valuation"
              },
              "valuationNote": {
                "type": "string"
              }
            }
          },
          "activity": {
            "type": "object",
            "required": [
              "fills",
              "historicalOrders",
              "ledger",
              "stakingHistory"
            ],
            "properties": {
              "fills": {
                "$ref": "#/components/schemas/NullableRecords"
              },
              "historicalOrders": {
                "$ref": "#/components/schemas/NullableRecords"
              },
              "ledger": {
                "$ref": "#/components/schemas/NullableRecords"
              },
              "stakingHistory": {
                "$ref": "#/components/schemas/NullableRecords"
              }
            }
          }
        }
      },
      "Source": {
        "type": "object",
        "required": [
          "type",
          "status",
          "fetchedAt"
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/Address"
          },
          "dex": {
            "type": "string",
            "description": "Empty string means native perpetuals."
          },
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "error"
            ]
          },
          "fetchedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "itemCount": {
            "type": "integer",
            "minimum": 0
          },
          "startTime": {
            "type": "integer"
          },
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      },
      "Valuation": {
        "type": "object",
        "required": [
          "totalValueUsd",
          "knownValueUsd",
          "valuationComplete",
          "grossPositionValueUsd",
          "knownGrossPositionValueUsd",
          "exposureComplete",
          "unrealizedPnlUsd",
          "positionCount",
          "missing"
        ],
        "properties": {
          "totalValueUsd": {
            "type": [
              "string",
              "null"
            ]
          },
          "knownValueUsd": {
            "type": "string"
          },
          "valuationComplete": {
            "type": "boolean"
          },
          "grossPositionValueUsd": {
            "type": [
              "string",
              "null"
            ],
            "description": "Sum of absolute open position notionals, separate from equity."
          },
          "knownGrossPositionValueUsd": {
            "type": "string"
          },
          "exposureComplete": {
            "type": "boolean"
          },
          "unrealizedPnlUsd": {
            "type": [
              "string",
              "null"
            ]
          },
          "positionCount": {
            "type": "integer",
            "minimum": 0
          },
          "uniqueAccounts": {
            "type": "integer",
            "minimum": 0
          },
          "scopeComplete": {
            "type": "boolean"
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "priceAsOf": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "components": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "methodology": {
            "type": "string"
          }
        }
      },
      "Batch": {
        "type": "object",
        "required": [
          "id",
          "status",
          "createdAt",
          "completedAt",
          "includeSubaccounts",
          "addresses",
          "duplicatesRemoved",
          "progress",
          "summary",
          "results",
          "expiresAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string",
            "enum": [
              "running",
              "completed",
              "cancelled"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "includeSubaccounts": {
            "type": "boolean"
          },
          "addresses": {
            "type": "array",
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "duplicatesRemoved": {
            "type": "integer",
            "minimum": 0
          },
          "progress": {
            "type": "object",
            "required": [
              "completed",
              "total",
              "currentAddress"
            ],
            "properties": {
              "completed": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "currentAddress": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "summary": {
            "$ref": "#/components/schemas/Valuation"
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "address",
                "status"
              ],
              "properties": {
                "address": {
                  "$ref": "#/components/schemas/Address"
                },
                "resolvedAddress": {
                  "$ref": "#/components/schemas/Address"
                },
                "status": {
                  "type": "string"
                },
                "hasHoldingsNow": {
                  "$ref": "#/components/schemas/NullableFlag"
                },
                "hasObservedActivity": {
                  "$ref": "#/components/schemas/NullableFlag"
                },
                "summary": {
                  "$ref": "#/components/schemas/Valuation"
                },
                "failedSources": {
                  "type": "integer"
                },
                "fetchedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "accounts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "$ref": "#/components/schemas/Address"
                      },
                      "valuation": {
                        "$ref": "#/components/schemas/Valuation"
                      }
                    }
                  }
                },
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Coverage": {
        "type": "object",
        "required": [
          "network",
          "scope",
          "hyperEvmIncluded",
          "includesSubaccounts",
          "accountsChecked",
          "dexsChecked",
          "skippedAccounts",
          "skippedDexs",
          "currentPortfolioChecksSucceeded",
          "activityChecksSucceeded",
          "historyComplete",
          "history",
          "excluded",
          "failedSources"
        ],
        "properties": {
          "network": {
            "const": "mainnet"
          },
          "scope": {
            "const": "HyperCore"
          },
          "hyperEvmIncluded": {
            "const": false
          },
          "includesSubaccounts": {
            "type": "boolean"
          },
          "accountsChecked": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "dexsChecked": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "skippedAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "skippedDexs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "currentPortfolioChecksSucceeded": {
            "type": "boolean"
          },
          "activityChecksSucceeded": {
            "type": "boolean"
          },
          "historyComplete": {
            "const": false
          },
          "history": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "excluded": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "failedSources": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "DebankError": {
        "type": "object",
        "properties": {
          "error_code": {
            "type": "integer"
          },
          "error_msg": {
            "type": "string"
          }
        },
        "required": [
          "error_code",
          "error_msg"
        ]
      },
      "DebankChain": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "community_id": {
            "type": "integer"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "native_token_id": {
            "type": "string"
          },
          "wrapped_token_id": {
            "type": "string"
          },
          "is_support_pre_exec": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "community_id",
          "name",
          "logo_url",
          "native_token_id",
          "wrapped_token_id",
          "is_support_pre_exec"
        ]
      },
      "DebankProtocol": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "site_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_supported_portfolio": {
            "type": "boolean"
          },
          "tvl": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "chain",
          "name",
          "site_url",
          "logo_url",
          "has_supported_portfolio"
        ]
      },
      "DebankToken": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "display_symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "optimized_symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "decimals": {
            "type": [
              "integer",
              "null"
            ]
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "protocol_id": {
            "type": "string"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_core": {
            "type": "boolean"
          },
          "is_wallet": {
            "type": "boolean"
          },
          "price": {
            "type": "number"
          },
          "time_at": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "chain",
          "name",
          "symbol",
          "display_symbol",
          "optimized_symbol",
          "decimals",
          "logo_url",
          "protocol_id",
          "is_verified",
          "is_core",
          "is_wallet",
          "price",
          "time_at"
        ]
      },
      "DebankLendingToken": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "display_symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "optimized_symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "decimals": {
            "type": [
              "integer",
              "null"
            ]
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "protocol_id": {
            "type": "string"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_core": {
            "type": "boolean"
          },
          "is_wallet": {
            "type": "boolean"
          },
          "price": {
            "type": "number"
          },
          "time_at": {
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "chain",
          "name",
          "symbol",
          "display_symbol",
          "optimized_symbol",
          "decimals",
          "logo_url",
          "protocol_id",
          "is_verified",
          "is_core",
          "is_wallet",
          "price",
          "time_at",
          "amount"
        ]
      },
      "DebankUserToken": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "display_symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "optimized_symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "decimals": {
            "type": [
              "integer",
              "null"
            ]
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "protocol_id": {
            "type": "string"
          },
          "is_verified": {
            "type": "boolean"
          },
          "is_core": {
            "type": "boolean"
          },
          "is_wallet": {
            "type": "boolean"
          },
          "price": {
            "type": "number"
          },
          "time_at": {
            "type": [
              "integer",
              "null"
            ]
          },
          "amount": {
            "type": "number"
          },
          "raw_amount": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "chain",
          "name",
          "symbol",
          "display_symbol",
          "optimized_symbol",
          "decimals",
          "logo_url",
          "protocol_id",
          "is_verified",
          "is_core",
          "is_wallet",
          "price",
          "time_at",
          "amount",
          "raw_amount"
        ]
      },
      "DebankApp": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "site_url": {
            "type": "string"
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_supported_portfolio": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "site_url",
          "logo_url",
          "has_supported_portfolio"
        ]
      },
      "DebankAppToken": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "display_symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "optimized_symbol": {
            "type": "string"
          },
          "decimals": {
            "type": [
              "integer",
              "null"
            ]
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "app_id": {
            "const": "hyperliquid"
          },
          "price": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "symbol",
          "display_symbol",
          "optimized_symbol",
          "decimals",
          "logo_url",
          "app_id",
          "price",
          "amount"
        ]
      },
      "DebankPortfolioItem": {
        "type": "object",
        "properties": {
          "stats": {
            "type": "object",
            "properties": {
              "asset_usd_value": {
                "type": "number"
              },
              "debt_usd_value": {
                "type": "number"
              },
              "net_usd_value": {
                "type": "number"
              }
            },
            "required": [
              "asset_usd_value",
              "debt_usd_value",
              "net_usd_value"
            ]
          },
          "asset_dict": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            }
          },
          "asset_token_list": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DebankAppToken"
                },
                {
                  "$ref": "#/components/schemas/DebankLendingToken"
                }
              ]
            }
          },
          "update_at": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "detail_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "detail": {
            "type": "object",
            "required": [
              "supply_token_list",
              "description"
            ],
            "properties": {
              "supply_token_list": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/DebankAppToken"
                    },
                    {
                      "$ref": "#/components/schemas/DebankLendingToken"
                    }
                  ]
                }
              },
              "borrow_token_list": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/DebankAppToken"
                    },
                    {
                      "$ref": "#/components/schemas/DebankLendingToken"
                    }
                  ]
                }
              },
              "description": {
                "type": "string"
              }
            }
          },
          "proxy_detail": {
            "type": "object",
            "additionalProperties": true
          },
          "position_index": {
            "type": "string"
          }
        },
        "required": [
          "stats",
          "asset_dict",
          "asset_token_list",
          "update_at",
          "name",
          "detail_types",
          "detail",
          "proxy_detail",
          "position_index"
        ]
      },
      "DebankComplexApp": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "site_url": {
            "type": "string"
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_supported_portfolio": {
            "type": "boolean"
          },
          "portfolio_item_list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DebankPortfolioItem"
            }
          }
        },
        "required": [
          "id",
          "name",
          "site_url",
          "logo_url",
          "has_supported_portfolio",
          "portfolio_item_list"
        ]
      },
      "DebankUserProtocol": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "site_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_supported_portfolio": {
            "type": "boolean"
          },
          "tvl": {
            "type": "number"
          },
          "portfolio_item_list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DebankPortfolioItem"
            }
          }
        },
        "required": [
          "id",
          "chain",
          "name",
          "site_url",
          "logo_url",
          "has_supported_portfolio",
          "portfolio_item_list"
        ]
      },
      "DebankHistory": {
        "type": "object",
        "properties": {
          "cate_dict": {
            "type": "object",
            "additionalProperties": true
          },
          "history_list": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "project_dict": {
            "type": "object",
            "additionalProperties": true
          },
          "token_dict": {
            "type": "object",
            "additionalProperties": true
          },
          "cex_dict": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "required": [
          "cate_dict",
          "history_list",
          "project_dict",
          "token_dict",
          "cex_dict"
        ]
      },
      "DebankNftApprovals": {
        "type": "object",
        "properties": {
          "tokens": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "contracts": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "total": {
            "type": "string"
          }
        },
        "required": [
          "tokens",
          "contracts",
          "total"
        ]
      },
      "DebankPool": {
        "type": "object",
        "properties": {
          "pool_id": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "protocol_id": {
            "type": "string"
          },
          "contract_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "stats": {
            "type": "object",
            "properties": {
              "deposit_usd_value": {
                "type": "number"
              },
              "deposit_user_count": {
                "type": "integer"
              },
              "deposit_valuable_user_count": {
                "type": "integer"
              }
            },
            "required": [
              "deposit_usd_value",
              "deposit_user_count",
              "deposit_valuable_user_count"
            ]
          }
        },
        "required": [
          "pool_id",
          "chain",
          "protocol_id",
          "contract_ids",
          "name",
          "stats"
        ]
      },
      "DebankTotal": {
        "type": "object",
        "properties": {
          "total_usd_value": {
            "type": "number"
          },
          "chain_list": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "community_id": {
                  "type": "integer"
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "logo_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "native_token_id": {
                  "type": "string"
                },
                "wrapped_token_id": {
                  "type": "string"
                },
                "is_support_pre_exec": {
                  "type": "boolean"
                },
                "usd_value": {
                  "type": "number"
                }
              }
            }
          }
        },
        "required": [
          "total_usd_value",
          "chain_list"
        ]
      },
      "DebankSimulation": {
        "type": "object",
        "properties": {
          "balance_change": {
            "type": "object",
            "properties": {
              "success": {
                "const": false
              },
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "const": 2000
                  },
                  "message": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message"
                ]
              },
              "send_token_list": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "receive_token_list": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "send_nft_list": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "receive_nft_list": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "usd_value_change": {
                "type": "number"
              }
            },
            "required": [
              "success",
              "error",
              "send_token_list",
              "receive_token_list",
              "send_nft_list",
              "receive_nft_list",
              "usd_value_change"
            ]
          },
          "gas": {
            "type": "object",
            "properties": {
              "success": {
                "const": false
              },
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "const": 2000
                  },
                  "message": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message"
                ]
              },
              "gas_used": {
                "type": "integer"
              }
            },
            "required": [
              "success",
              "error",
              "gas_used"
            ]
          },
          "pre_exec": {
            "type": "object",
            "properties": {
              "success": {
                "const": false
              },
              "error": {
                "type": "object",
                "properties": {
                  "code": {
                    "const": 2000
                  },
                  "message": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message"
                ]
              }
            },
            "required": [
              "success",
              "error"
            ]
          },
          "is_multisig": {
            "const": false
          },
          "multisig": {
            "type": "null"
          }
        },
        "required": [
          "balance_change",
          "gas",
          "pre_exec",
          "is_multisig",
          "multisig"
        ]
      },
      "LendingValuation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Valuation"
          },
          {
            "type": "object",
            "required": [
              "supplyUsd",
              "debtUsd"
            ],
            "properties": {
              "supplyUsd": {
                "type": "string"
              },
              "debtUsd": {
                "type": "string"
              }
            }
          }
        ]
      },
      "LendingBatch": {
        "type": "object",
        "required": [
          "id",
          "status",
          "createdAt",
          "completedAt",
          "includeSubaccounts",
          "addresses",
          "duplicatesRemoved",
          "progress",
          "summary",
          "results",
          "expiresAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string",
            "enum": [
              "running",
              "completed",
              "cancelled"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "includeSubaccounts": {
            "type": "boolean"
          },
          "addresses": {
            "type": "array",
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "duplicatesRemoved": {
            "type": "integer",
            "minimum": 0
          },
          "progress": {
            "type": "object",
            "required": [
              "completed",
              "total",
              "currentAddress"
            ],
            "properties": {
              "completed": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "currentAddress": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "summary": {
            "$ref": "#/components/schemas/LendingValuation"
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "address",
                "status"
              ],
              "properties": {
                "address": {
                  "$ref": "#/components/schemas/Address"
                },
                "resolvedAddress": {
                  "$ref": "#/components/schemas/Address"
                },
                "status": {
                  "type": "string"
                },
                "hasHoldingsNow": {
                  "$ref": "#/components/schemas/NullableFlag"
                },
                "hasObservedActivity": {
                  "$ref": "#/components/schemas/NullableFlag"
                },
                "summary": {
                  "$ref": "#/components/schemas/LendingValuation"
                },
                "failedSources": {
                  "type": "integer"
                },
                "fetchedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "accounts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "$ref": "#/components/schemas/Address"
                      },
                      "valuation": {
                        "$ref": "#/components/schemas/LendingValuation"
                      }
                    }
                  }
                },
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "LendingLookup": {
        "type": "object",
        "required": [
          "address",
          "complete",
          "protocols",
          "sources",
          "summary",
          "chainsChecked",
          "marketsChecked",
          "totals"
        ],
        "properties": {
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "complete": {
            "type": "boolean"
          },
          "fetchedAt": {
            "type": "string",
            "format": "date-time"
          },
          "protocols": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DebankUserProtocol"
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "type",
                "status",
                "chains",
                "markets"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "status": {
                  "enum": [
                    "ok",
                    "error"
                  ]
                },
                "chains": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "markets": {
                  "type": "integer"
                }
              }
            }
          },
          "chainsChecked": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "marketsChecked": {
            "type": "integer"
          },
          "summary": {
            "$ref": "#/components/schemas/LendingValuation"
          },
          "totals": {
            "type": "object",
            "required": [
              "asset_usd_value",
              "debt_usd_value",
              "net_usd_value"
            ],
            "properties": {
              "asset_usd_value": {
                "type": "string"
              },
              "debt_usd_value": {
                "type": "string"
              },
              "net_usd_value": {
                "type": "string"
              }
            }
          }
        }
      },
      "PortfolioValuation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LendingValuation"
          },
          {
            "type": "object",
            "required": [
              "walletUsd",
              "knownWalletUsd",
              "walletDiscoveryComplete"
            ],
            "properties": {
              "walletUsd": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "knownWalletUsd": {
                "type": "string"
              },
              "walletDiscoveryComplete": {
                "const": false
              }
            }
          }
        ]
      },
      "WalletBalance": {
        "type": "object",
        "required": [
          "id",
          "chain",
          "symbol",
          "decimals",
          "native",
          "rawAmount",
          "amount",
          "priceUsd",
          "valueUsd"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "decimals": {
            "type": "integer"
          },
          "native": {
            "type": "boolean"
          },
          "rawAmount": {
            "type": "string",
            "pattern": "^[0-9]+$"
          },
          "amount": {
            "type": "string"
          },
          "priceUsd": {
            "type": [
              "string",
              "null"
            ]
          },
          "valueUsd": {
            "type": [
              "string",
              "null"
            ]
          },
          "blockNumber": {
            "type": "string"
          },
          "pricing": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "provider": {
                "enum": [
                  "nobi",
                  "defillama"
                ]
              },
              "currency": {
                "const": "USD"
              },
              "code": {
                "type": "string"
              },
              "conversionCode": {
                "type": "string"
              },
              "timestamp": {
                "type": "number"
              },
              "fallbackReason": {
                "type": "string"
              }
            }
          }
        }
      },
      "WalletSnapshot": {
        "type": "object",
        "required": [
          "tokens",
          "complete",
          "balancesComplete",
          "valuationComplete",
          "discoveryComplete",
          "totalValueUsd",
          "knownValueUsd"
        ],
        "properties": {
          "tokens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WalletBalance"
            }
          },
          "complete": {
            "type": "boolean"
          },
          "balancesComplete": {
            "type": "boolean"
          },
          "valuationComplete": {
            "type": "boolean"
          },
          "discoveryComplete": {
            "const": false
          },
          "totalValueUsd": {
            "type": [
              "string",
              "null"
            ]
          },
          "knownValueUsd": {
            "type": "string"
          },
          "unpricedTokens": {
            "type": "integer"
          }
        }
      },
      "PortfolioLookup": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LendingLookup"
          },
          {
            "type": "object",
            "required": [
              "wallet"
            ],
            "properties": {
              "wallet": {
                "$ref": "#/components/schemas/WalletSnapshot"
              },
              "summary": {
                "$ref": "#/components/schemas/PortfolioValuation"
              }
            }
          }
        ]
      },
      "PortfolioBatch": {
        "type": "object",
        "required": [
          "id",
          "status",
          "createdAt",
          "completedAt",
          "includeSubaccounts",
          "addresses",
          "duplicatesRemoved",
          "progress",
          "summary",
          "results",
          "expiresAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string",
            "enum": [
              "running",
              "completed",
              "cancelled"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "includeSubaccounts": {
            "type": "boolean"
          },
          "addresses": {
            "type": "array",
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          },
          "duplicatesRemoved": {
            "type": "integer",
            "minimum": 0
          },
          "progress": {
            "type": "object",
            "required": [
              "completed",
              "total",
              "currentAddress"
            ],
            "properties": {
              "completed": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "currentAddress": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "summary": {
            "$ref": "#/components/schemas/PortfolioValuation"
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "address",
                "status"
              ],
              "properties": {
                "address": {
                  "$ref": "#/components/schemas/Address"
                },
                "resolvedAddress": {
                  "$ref": "#/components/schemas/Address"
                },
                "status": {
                  "type": "string"
                },
                "hasHoldingsNow": {
                  "$ref": "#/components/schemas/NullableFlag"
                },
                "hasObservedActivity": {
                  "$ref": "#/components/schemas/NullableFlag"
                },
                "summary": {
                  "$ref": "#/components/schemas/PortfolioValuation"
                },
                "failedSources": {
                  "type": "integer"
                },
                "fetchedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "accounts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "$ref": "#/components/schemas/Address"
                      },
                      "valuation": {
                        "$ref": "#/components/schemas/PortfolioValuation"
                      }
                    }
                  }
                },
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}