{ "openapi": "3.0.0", "info": { "title": "", "version": "" }, "paths": { "/": { "get": { "summary": "status", "operationId": "status", "tags": [ "root" ], "description": "Get status of zklighter", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Status" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/account": { "get": { "summary": "account", "operationId": "account", "tags": [ "account" ], "description": "Get account by an account's index, or L1 address", "parameters": [ { "name": "by", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "index", "l1_address" ] } }, { "name": "value", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "active_only", "in": "query", "required": false, "description": "Hide markets for which leverage and margin settings are present (meaning the account traded it at least once), but with no active position.", "schema": { "type": "boolean", "default": false } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DetailedAccounts" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/accountActiveOrders": { "get": { "summary": "accountActiveOrders", "operationId": "accountActiveOrders", "tags": [ "order" ], "description": "Get account active orders. `auth` can be generated using the SDK.", "parameters": [ { "name": "authorization", "in": "header", "required": true, "schema": { "type": "string" } }, { "name": "account_index", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "market_id", "in": "query", "required": false, "description": "If not specified, returns active orders for all markets.", "schema": { "type": "integer", "format": "int16", "default": "255" } }, { "name": "market_type", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "all", "spot", "perp" ], "default": "all" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Orders" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/accountInactiveOrders": { "get": { "summary": "accountInactiveOrders", "operationId": "accountInactiveOrders", "tags": [ "order" ], "description": "Get account inactive orders. `auth` can be generated using the SDK.", "parameters": [ { "name": "authorization", "in": "header", "required": true, "schema": { "type": "string" } }, { "name": "account_index", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "market_id", "in": "query", "required": false, "schema": { "type": "integer", "format": "int16", "default": "255" } }, { "name": "ask_filter", "in": "query", "required": false, "schema": { "type": "integer", "format": "int8", "default": "-1" } }, { "name": "between_timestamps", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 1, "maximum": 100 } }, { "name": "market_type", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "all", "spot", "perp" ], "default": "all" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Orders" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/accountLimits": { "get": { "summary": "accountLimits", "operationId": "accountLimits", "tags": [ "account" ], "description": "Get account limits. For more details on account types, see this page: https://apidocs.lighter.xyz/docs/account-types", "parameters": [ { "name": "account_index", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "authorization", "in": "header", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountLimits" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/accountMetadata": { "get": { "summary": "accountMetadata", "operationId": "accountMetadata", "tags": [ "account" ], "description": "Get account metadatas", "parameters": [ { "name": "authorization", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "by", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "index", "l1_address" ] } }, { "name": "value", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountMetadatas" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/accountTxs": { "get": { "summary": "accountTxs", "operationId": "accountTxs", "tags": [ "transaction" ], "description": "Get transactions of a specific account", "parameters": [ { "name": "index", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64" } }, { "name": "limit", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 1, "maximum": 100 } }, { "name": "by", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "account_index" ] } }, { "name": "value", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "authorization", "in": "header", "required": false, "description": " make required after integ is done", "schema": { "type": "string" } }, { "name": "auth", "in": "query", "required": false, "description": " made optional to support header auth clients", "schema": { "type": "string" } }, { "name": "types", "in": "query", "required": false, "schema": { "type": "array", "items": { "type": "integer", "format": "uint8" } } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Txs" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/assetDetails": { "get": { "summary": "assetDetails", "operationId": "assetDetails", "tags": [ "order" ], "description": "Get asset details for a specific asset or all assets", "parameters": [ { "name": "asset_id", "in": "query", "required": false, "schema": { "type": "integer", "format": "int16" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetDetails" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/accountsByL1Address": { "get": { "summary": "accountsByL1Address", "operationId": "accountsByL1Address", "tags": [ "account" ], "description": "Returns all accounts associated with the given L1 address", "parameters": [ { "name": "l1_address", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubAccounts" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/announcement": { "get": { "summary": "announcement", "operationId": "announcement", "tags": [ "announcement" ], "description": "Get announcements", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Announcements" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/apikeys": { "get": { "summary": "apikeys", "operationId": "apikeys", "tags": [ "account" ], "description": "Get account api key. Set `api_key_index` to 255 to retrieve all api keys associated with the account.", "parameters": [ { "name": "account_index", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "api_key_index", "in": "query", "required": false, "schema": { "type": "integer", "format": "uint8", "default": "255" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountApiKeys" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/block": { "get": { "summary": "block", "operationId": "block", "tags": [ "block" ], "description": "Get block by its height or commitment", "parameters": [ { "name": "by", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "commitment", "height" ] } }, { "name": "value", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Blocks" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/blockTxs": { "get": { "summary": "blockTxs", "operationId": "blockTxs", "tags": [ "transaction" ], "description": "Get transactions in a block", "parameters": [ { "name": "by", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "block_height", "block_commitment" ] } }, { "name": "value", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Txs" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/blocks": { "get": { "summary": "blocks", "operationId": "blocks", "tags": [ "block" ], "description": "Get blocks", "parameters": [ { "name": "index", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64" } }, { "name": "limit", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 1, "maximum": 100 } }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "asc" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Blocks" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/candles": { "get": { "summary": "candles", "operationId": "candles", "tags": [ "candlestick" ], "description": "Get candles data. Returns at most 500 candles per call. Zero values are omitted from the response.", "parameters": [ { "name": "market_id", "in": "query", "required": true, "schema": { "type": "integer", "format": "int16" } }, { "name": "resolution", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "1m", "5m", "15m", "30m", "1h", "4h", "12h", "1d", "1w" ] } }, { "name": "start_timestamp", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 0, "maximum": 5000000000000 } }, { "name": "end_timestamp", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 0, "maximum": 5000000000000 } }, { "name": "count_back", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "set_timestamp_to_end", "in": "query", "required": false, "schema": { "type": "boolean", "format": "boolean", "default": "false" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Candles" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/changeAccountTier": { "post": { "summary": "changeAccountTier", "operationId": "changeAccountTier", "tags": [ "account" ], "description": "Change account tier. You can only perform this action once every 24 hours, and with no orders or positions open.", "parameters": [ { "name": "authorization", "in": "header", "required": false, "description": " make required after integ is done", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ReqChangeAccountTier" } } } }, "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RespChangeAccountTier" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/currentHeight": { "get": { "summary": "currentHeight", "operationId": "currentHeight", "tags": [ "block" ], "description": "Get current height", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrentHeight" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/deposit/history": { "get": { "summary": "deposit_history", "operationId": "deposit_history", "tags": [ "transaction" ], "description": "Get deposit history", "parameters": [ { "name": "authorization", "in": "header", "required": true, "schema": { "type": "string" } }, { "name": "account_index", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "l1_address", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "filter", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "all", "pending", "claimable" ] } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DepositHistory" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/exchangeStats": { "get": { "summary": "exchangeStats", "operationId": "exchangeStats", "tags": [ "order" ], "description": "Get exchange stats", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExchangeStats" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/export": { "get": { "summary": "export", "operationId": "export", "tags": [ "order" ], "description": "Export trades and funding payments, limited to 12 months or 1M trades. END_TS_IN_MS - START_TS_IN_MS should not be larger than 12 months in milliseconds, both timestamps should be greater than or equal to 17 January 2025 00:00:00 UTC (lighter's mainnet genesis)", "parameters": [ { "name": "authorization", "in": "header", "required": true, "schema": { "type": "string" } }, { "name": "account_index", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64", "default": "-1" } }, { "name": "market_id", "in": "query", "required": false, "schema": { "type": "integer", "format": "int16", "default": "255" } }, { "name": "type", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "funding", "trade" ] } }, { "name": "start_timestamp", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64", "minimum": 1735689600000, "maximum": 1830297600000 } }, { "name": "end_timestamp", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64", "minimum": 1735689600000, "maximum": 1830297600000 } }, { "name": "side", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "all", "long", "short" ], "default": "all" } }, { "name": "role", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "all", "maker", "taker" ], "default": "all" } }, { "name": "trade_type", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "all", "trade", "liquidation", "deleverage", "market-settlement" ], "default": "all" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExportData" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/fastbridge/info": { "get": { "summary": "fastbridge_info", "operationId": "fastbridge_info", "tags": [ "bridge" ], "description": "Get fast bridge info", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RespGetFastBridgeInfo" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/funding-rates": { "get": { "summary": "funding-rates", "operationId": "funding-rates", "tags": [ "funding" ], "description": "Get funding rates", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FundingRates" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/fundings": { "get": { "summary": "fundings", "operationId": "fundings", "tags": [ "candlestick" ], "description": "Get fundings", "parameters": [ { "name": "market_id", "in": "query", "required": true, "schema": { "type": "integer", "format": "int16" } }, { "name": "resolution", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "1h", "1d" ] } }, { "name": "start_timestamp", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 0, "maximum": 5000000000000 } }, { "name": "end_timestamp", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 0, "maximum": 5000000000000 } }, { "name": "count_back", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Fundings" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/l1Metadata": { "get": { "summary": "l1Metadata", "operationId": "l1Metadata", "tags": [ "account" ], "description": "Get L1 metadata", "parameters": [ { "name": "authorization", "in": "header", "required": true, "schema": { "type": "string" } }, { "name": "l1_address", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/L1Metadata" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/liquidations": { "get": { "summary": "liquidations", "operationId": "liquidations", "tags": [ "account" ], "description": "Get liquidation infos", "parameters": [ { "name": "authorization", "in": "header", "required": true, "schema": { "type": "string" } }, { "name": "account_index", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "market_id", "in": "query", "required": false, "schema": { "type": "integer", "format": "int16", "default": "255" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LiquidationInfos" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/nextNonce": { "get": { "summary": "nextNonce", "operationId": "nextNonce", "tags": [ "transaction" ], "description": "Get next nonce for a specific account and api key", "parameters": [ { "name": "account_index", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "api_key_index", "in": "query", "required": true, "schema": { "type": "integer", "format": "uint8" } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NextNonce" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/notification/ack": { "post": { "summary": "notification_ack", "operationId": "notification_ack", "tags": [ "notification" ], "description": "Ack notification", "parameters": [ { "name": "authorization", "in": "header", "required": false, "description": " make required after integ is done", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/ReqAckNotif" } } } }, "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/orderBookDetails": { "get": { "summary": "orderBookDetails", "operationId": "orderBookDetails", "tags": [ "order" ], "description": "Get order books metadata", "parameters": [ { "name": "market_id", "in": "query", "required": false, "schema": { "type": "integer", "format": "int16", "default": "255" } }, { "name": "filter", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "all", "spot", "perp" ], "default": "all" }, "description": "Filter order books by type" } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderBookDetails" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/orderBookOrders": { "get": { "summary": "orderBookOrders", "operationId": "orderBookOrders", "tags": [ "order" ], "description": "Get order book orders", "parameters": [ { "name": "market_id", "in": "query", "required": true, "schema": { "type": "integer", "format": "int16" } }, { "name": "limit", "in": "query", "required": true, "schema": { "type": "integer", "format": "int64", "minimum": 1, "maximum": 250 } } ], "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderBookOrders" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResultCode" } } } } } } }, "/api/v1/orderBooks": { "get": { "summary": "orderBooks", "operationId": "orderBooks", "tags": [ "order" ], "description": "Get order books metadata.