{"format":"opendoc-document","version":1,"url":"https://docs.upscale.trade/developers/operations/getmarket","title":"Get market by id","description":"GET /v2/markets/{id}: One market with the same snapshot the list returns. Responds 404 when the market does not exist, is delisted, or is hidden from the caller.","kind":"api-operation","locale":"en","inLanguage":"en","lastModified":"2026-09-28T19:22:49.100Z","revision":"25c86f549328fcff320805d5945f4c9804e3927950d831e601d6e3b18c170f66","section":{"title":"Developers","url":"https://docs.upscale.trade/developers"},"representations":{"html":"https://docs.upscale.trade/developers/operations/getmarket","markdown":"https://docs.upscale.trade/developers/operations/getmarket.md","json":"https://docs.upscale.trade/developers/operations/getmarket.json"},"translations":{"en":"https://docs.upscale.trade/developers/operations/getmarket","ru":"https://docs.upscale.trade/ru/developers/operations/getmarket","es":"https://docs.upscale.trade/es/developers/operations/getmarket"},"operation":{"id":"getMarket","method":"GET","path":"/v2/markets/{id}","summary":"Get market by id","description":"One market with the same snapshot the list returns.\n\nResponds `404` when the market does not exist, is delisted, or is hidden from the caller.","tags":["Config"],"deprecated":false,"parameters":[{"name":"id","location":"path","schema":{"type":"string · uuid","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]},"type":"string · uuid","required":true,"description":"Market identifier, as returned by `GET /v2/markets`.","example":"00000000-0000-4000-8000-000000000000"},{"name":"accountId","location":"query","schema":{"type":"string · uuid","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"properties":[],"variants":[]},"type":"string · uuid","required":false,"description":"Trader account to resolve the market list against: leverage bounds and availability are returned as they apply to that account. Omitted — the platform-wide defaults are returned.","example":"00000000-0000-4000-8000-000000000000"}],"bodies":[],"responses":[{"status":"401","description":"Unauthorized","properties":[],"headers":[]},{"status":"404","description":"Market not found, delisted, or hidden from the caller.","properties":[],"headers":[]},{"status":"429","description":"Rate limit of the API key exceeded (`api_key_rate_limit_exceeded`). `Retry-After` says when to come back; the body carries the bucket (`read` / `write`), the window that tripped, its limit and `retryAt`.","properties":[],"headers":[]},{"status":"default","description":"Response","mediaType":"application/json","properties":[{"name":"id","type":"string · uuid","required":true,"description":"Market identifier — the value order creation takes as `marketId`.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Market identifier — the value order creation takes as `marketId`.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"properties":[],"variants":[]}},{"name":"config","type":"object","required":true,"description":"Static description of the market: assets, naming and category.","example":"{\n  \"baseAsset\": \"BTC\",\n  \"quoteAsset\": \"USD\",\n  \"settlementToken\": \"USD\",\n  \"type\": \"base\",\n  \"name\": \"BTC\",\n  \"description\": \"Market description\",\n  \"ticker\": \"BTC/USD\",\n  \"imageLink\": \"https://app.storm.tg/markets/btc.png\",\n  \"tags\": [\n    \"Crypto\"\n  ],\n  \"category\": \"crypto\",\n  \"priority\": 0\n}","schema":{"type":"object","types":["object"],"description":"Static description of the market: assets, naming and category.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"baseAsset","type":"string","required":true,"description":"Base asset ticker — the value the per-market endpoints take as `asset`.","example":"BTC","schema":{"type":"string","types":["string"],"description":"Base asset ticker — the value the per-market endpoints take as `asset`.","example":"BTC","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"quoteAsset","type":"string","required":true,"description":"Asset prices and notionals are quoted in.","example":"USD","schema":{"type":"string","types":["string"],"description":"Asset prices and notionals are quoted in.","example":"USD","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"settlementToken","type":"string","required":true,"description":"Asset positions settle in.","example":"USD","schema":{"type":"string","types":["string"],"description":"Asset positions settle in.","example":"USD","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"type","type":"string","required":true,"description":"Pricing model of the market.","example":"base","schema":{"type":"string","types":["string"],"description":"Pricing model of the market.","example":"base","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"name","type":"string","required":true,"description":"Display name of the market.","example":"BTC","schema":{"type":"string","types":["string"],"description":"Display name of the market.","example":"BTC","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"description","type":"string","required":true,"description":"Free-form description shown in the app.","example":"Market description","schema":{"type":"string","types":["string"],"description":"Free-form description shown in the app.","example":"Market description","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"ticker","type":"string","required":true,"description":"Full pair label.","example":"BTC/USD","schema":{"type":"string","types":["string"],"description":"Full pair label.","example":"BTC/USD","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"imageLink","type":"string","required":true,"description":"Icon of the market.","example":"https://app.storm.tg/markets/btc.png","schema":{"type":"string","types":["string"],"description":"Icon of the market.","example":"https://app.storm.tg/markets/btc.png","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"tags","type":"string[]","required":true,"description":"Tags the app groups markets by.","example":"[\n  \"Crypto\"\n]","schema":{"type":"string[]","types":["array"],"description":"Tags the app groups markets by.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"example":"Crypto","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"category","type":"string · enum","required":true,"description":"Whether the market is crypto or a real-world asset — an account may be limited to one of the two.","example":"crypto","schema":{"type":"string · enum","types":["string"],"description":"Whether the market is crypto or a real-world asset — an account may be limited to one of the two.","enum":["crypto","rwa"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"priority","type":"number · nullable","required":true,"description":"Sort weight in the market list; higher comes first. Null when unranked.","example":"0","schema":{"type":"number · nullable","types":["number","null"],"description":"Sort weight in the market list; higher comes first. Null when unranked.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"state","type":"object","required":true,"description":"Live state: index price, funding and the depth an order is priced against.","example":"{\n  \"indexPrice\": \"1000000000\",\n  \"blockTimestamp\": 0,\n  \"fundingRate\": \"1000000000\",\n  \"nextFundingAt\": 0,\n  \"lastFundingAt\": 0,\n  \"vpiSpread\": \"1000000000\",\n  \"vpiMarketDepthLong\": \"1000000000\",\n  \"vpiMarketDepthShort\": \"1000000000\",\n  \"vpiCoefficientLong\": \"1000000000\",\n  \"vpiCoefficientShort\": \"1000000000\"\n}","schema":{"type":"object","types":["object"],"description":"Live state: index price, funding and the depth an order is priced against.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"indexPrice","type":"string · int32","required":true,"description":"Current index price of the market, fp9 raw — what orders are priced and triggers compared against.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Current index price of the market, fp9 raw — what orders are priced and triggers compared against.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"blockTimestamp","type":"number","required":true,"description":"When this state snapshot was produced, unix timestamp in milliseconds.","example":"0","schema":{"type":"number","types":["number"],"description":"When this state snapshot was produced, unix timestamp in milliseconds.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"fundingRate","type":"string · int32","required":true,"description":"Funding rate of the running interval, fp9 raw fraction. Positive means longs pay shorts.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Funding rate of the running interval, fp9 raw fraction. Positive means longs pay shorts.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"nextFundingAt","type":"number","required":true,"description":"When funding is settled next, unix timestamp in milliseconds.","example":"0","schema":{"type":"number","types":["number"],"description":"When funding is settled next, unix timestamp in milliseconds.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"lastFundingAt","type":"number · nullable","required":true,"description":"When funding was last settled, unix timestamp in milliseconds. Null before the first settlement.","example":"0","schema":{"type":"number · nullable","types":["number","null"],"description":"When funding was last settled, unix timestamp in milliseconds. Null before the first settlement.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"vpiSpread","type":"string · int32","required":true,"description":"Current spread charged on top of the index price, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Current spread charged on top of the index price, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"vpiMarketDepthLong","type":"string · int32","required":true,"description":"Depth available on the long side, fp9 raw. Orders large against it move the execution price.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Depth available on the long side, fp9 raw. Orders large against it move the execution price.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"vpiMarketDepthShort","type":"string · int32","required":true,"description":"Depth available on the short side, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Depth available on the short side, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"vpiCoefficientLong","type":"string · int32","required":true,"description":"Price-impact coefficient applied to long orders, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Price-impact coefficient applied to long orders, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"vpiCoefficientShort","type":"string · int32","required":true,"description":"Price-impact coefficient applied to short orders, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Price-impact coefficient applied to short orders, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}}],"variants":[]}},{"name":"settings","type":"object","required":true,"description":"Trading rules of the market: fees, margin ratios and the caps an order is checked against.","example":"{\n  \"fee\": \"1000000000\",\n  \"minInitMarginRatio\": \"1000000000\",\n  \"initMarginRatio\": \"1000000000\",\n  \"maintenanceMarginRatio\": \"1000000000\",\n  \"maxLeverageByAccount\": {\n    \"key\": \"1000000000\"\n  },\n  \"spreadLimit\": \"1000000000\",\n  \"maxPriceImpact\": \"1000000000\",\n  \"maxPriceSpread\": \"1000000000\",\n  \"maxOpenNotionalLong\": \"1000000000\",\n  \"maxOpenNotionalShort\": \"1000000000\",\n  \"minStopTriggerDistanceRatio\": \"1000000000\",\n  \"isCloseOnly\": true,\n  \"isClosed\": true,\n  \"isPaused\": true,\n  \"isZeroSpread\": true\n}","schema":{"type":"object","types":["object"],"description":"Trading rules of the market: fees, margin ratios and the caps an order is checked against.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"fee","type":"string · int32","required":true,"description":"Trading fee rate, fp9 raw fraction (`1000000` = 0.1%).","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Trading fee rate, fp9 raw fraction (`1000000` = 0.1%).","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"minInitMarginRatio","type":"string · int32","required":true,"description":"Smallest initial margin ratio the market accepts, fp9 raw fraction — the cap on leverage.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Smallest initial margin ratio the market accepts, fp9 raw fraction — the cap on leverage.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"initMarginRatio","type":"string · int32","required":true,"description":"Default initial margin ratio of the market, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Default initial margin ratio of the market, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maintenanceMarginRatio","type":"string · int32","required":true,"description":"Margin ratio below which a position is liquidated, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Margin ratio below which a position is liquidated, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxLeverageByAccount","type":"object","required":true,"description":"Highest leverage allowed per account type, fp9 raw, keyed by account type.","example":"{\n  \"key\": \"1000000000\"\n}","schema":{"type":"object","types":["object"],"description":"Highest leverage allowed per account type, fp9 raw, keyed by account type.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[],"additionalProperties":{"type":"string · int32","types":["string"],"example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}}},{"name":"spreadLimit","type":"string · int32","required":true,"description":"Largest spread the market will charge, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Largest spread the market will charge, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxPriceImpact","type":"string · int32","required":true,"description":"Largest price impact a single order may cause, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Largest price impact a single order may cause, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxPriceSpread","type":"string · int32","required":true,"description":"Largest deviation allowed between market and index price, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Largest deviation allowed between market and index price, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxOpenNotionalLong","type":"string · int32","required":true,"description":"Cap on open notional held long on this market, fp9 raw. `0` means no cap.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Cap on open notional held long on this market, fp9 raw. `0` means no cap.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxOpenNotionalShort","type":"string · int32","required":true,"description":"Cap on open notional held short on this market, fp9 raw. `0` means no cap.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Cap on open notional held short on this market, fp9 raw. `0` means no cap.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"minStopTriggerDistanceRatio","type":"string · int32","required":true,"description":"Minimum distance between the current price and a stop trigger, fp9 raw fraction. A closer trigger is pushed out to this distance.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Minimum distance between the current price and a stop trigger, fp9 raw fraction. A closer trigger is pushed out to this distance.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"isCloseOnly","type":"boolean","required":true,"description":"Whether the market only accepts orders that close a position.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether the market only accepts orders that close a position.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"isClosed","type":"boolean","required":true,"example":"true","schema":{"type":"boolean","types":["boolean"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"isPaused","type":"boolean","required":true,"example":"true","schema":{"type":"boolean","types":["boolean"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"isZeroSpread","type":"boolean","required":true,"description":"Whether the market currently trades without a spread.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether the market currently trades without a spread.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"change","type":"object","required":true,"description":"Reference prices for computing 1h, 4h and 24h price changes.","example":"{\n  \"initialPrice\": 0,\n  \"initialPrice1h\": 0,\n  \"initialPrice4h\": 0\n}","schema":{"type":"object","types":["object"],"description":"Reference prices for computing 1h, 4h and 24h price changes.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"initialPrice","type":"number","required":true,"description":"Price 24 hours ago, as a decimal number — the base of the daily change. `0` when no history is available.","example":"0","schema":{"type":"number","types":["number"],"description":"Price 24 hours ago, as a decimal number — the base of the daily change. `0` when no history is available.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialPrice1h","type":"number","required":true,"description":"Price one hour ago, as a decimal number. `0` when no history is available.","example":"0","schema":{"type":"number","types":["number"],"description":"Price one hour ago, as a decimal number. `0` when no history is available.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialPrice4h","type":"number","required":true,"description":"Price four hours ago, as a decimal number. `0` when no history is available.","example":"0","schema":{"type":"number","types":["number"],"description":"Price four hours ago, as a decimal number. `0` when no history is available.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"schedule","type":"object · nullable","required":true,"description":"Trading sessions of the market. Null when it trades around the clock.","example":"{\n  \"nextPauseAt\": 0,\n  \"nextUnpauseAt\": 0,\n  \"closestPauseAt\": 0,\n  \"closestUnpauseAt\": 0,\n  \"pausedAt\": 0,\n  \"inPause\": true\n}","schema":{"type":"object · nullable","types":["object"],"description":"Trading sessions of the market. Null when it trades around the clock.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"nextPauseAt","type":"number","required":true,"description":"Start of the next scheduled break, unix timestamp in milliseconds. `0` when the market has no breaks at all, and `9007199254740991` when none is scheduled ahead of the current one.","example":"0","schema":{"type":"number","types":["number"],"description":"Start of the next scheduled break, unix timestamp in milliseconds. `0` when the market has no breaks at all, and `9007199254740991` when none is scheduled ahead of the current one.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"nextUnpauseAt","type":"number","required":true,"description":"End of the break the market is in, or of the next one, unix timestamp in milliseconds. Same `0` and sentinel rules as `nextPauseAt`.","example":"0","schema":{"type":"number","types":["number"],"description":"End of the break the market is in, or of the next one, unix timestamp in milliseconds. Same `0` and sentinel rules as `nextPauseAt`.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"closestPauseAt","type":"number","required":true,"description":"Same value as `nextPauseAt`. Kept for backward compatibility.","example":"0","schema":{"type":"number","types":["number"],"description":"Same value as `nextPauseAt`. Kept for backward compatibility.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"closestUnpauseAt","type":"number","required":true,"description":"Same value as `nextUnpauseAt`. Kept for backward compatibility.","example":"0","schema":{"type":"number","types":["number"],"description":"Same value as `nextUnpauseAt`. Kept for backward compatibility.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"pausedAt","type":"number","required":true,"description":"Start of the break currently running, unix timestamp in milliseconds. `0` when the market is trading.","example":"0","schema":{"type":"number","types":["number"],"description":"Start of the break currently running, unix timestamp in milliseconds. `0` when the market is trading.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"inPause","type":"boolean","required":true,"description":"Whether the market is inside a scheduled break right now. Orders are refused while it is.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether the market is inside a scheduled break right now. Orders are refused while it is.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}}],"schema":{"type":"object","types":["object"],"reference":"#/components/schemas/MarketV2Response","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"id","type":"string · uuid","required":true,"description":"Market identifier — the value order creation takes as `marketId`.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Market identifier — the value order creation takes as `marketId`.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"properties":[],"variants":[]}},{"name":"config","type":"object","required":true,"description":"Static description of the market: assets, naming and category.","example":"{\n  \"baseAsset\": \"BTC\",\n  \"quoteAsset\": \"USD\",\n  \"settlementToken\": \"USD\",\n  \"type\": \"base\",\n  \"name\": \"BTC\",\n  \"description\": \"Market description\",\n  \"ticker\": \"BTC/USD\",\n  \"imageLink\": \"https://app.storm.tg/markets/btc.png\",\n  \"tags\": [\n    \"Crypto\"\n  ],\n  \"category\": \"crypto\",\n  \"priority\": 0\n}","schema":{"type":"object","types":["object"],"description":"Static description of the market: assets, naming and category.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"baseAsset","type":"string","required":true,"description":"Base asset ticker — the value the per-market endpoints take as `asset`.","example":"BTC","schema":{"type":"string","types":["string"],"description":"Base asset ticker — the value the per-market endpoints take as `asset`.","example":"BTC","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"quoteAsset","type":"string","required":true,"description":"Asset prices and notionals are quoted in.","example":"USD","schema":{"type":"string","types":["string"],"description":"Asset prices and notionals are quoted in.","example":"USD","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"settlementToken","type":"string","required":true,"description":"Asset positions settle in.","example":"USD","schema":{"type":"string","types":["string"],"description":"Asset positions settle in.","example":"USD","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"type","type":"string","required":true,"description":"Pricing model of the market.","example":"base","schema":{"type":"string","types":["string"],"description":"Pricing model of the market.","example":"base","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"name","type":"string","required":true,"description":"Display name of the market.","example":"BTC","schema":{"type":"string","types":["string"],"description":"Display name of the market.","example":"BTC","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"description","type":"string","required":true,"description":"Free-form description shown in the app.","example":"Market description","schema":{"type":"string","types":["string"],"description":"Free-form description shown in the app.","example":"Market description","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"ticker","type":"string","required":true,"description":"Full pair label.","example":"BTC/USD","schema":{"type":"string","types":["string"],"description":"Full pair label.","example":"BTC/USD","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"imageLink","type":"string","required":true,"description":"Icon of the market.","example":"https://app.storm.tg/markets/btc.png","schema":{"type":"string","types":["string"],"description":"Icon of the market.","example":"https://app.storm.tg/markets/btc.png","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"tags","type":"string[]","required":true,"description":"Tags the app groups markets by.","example":"[\n  \"Crypto\"\n]","schema":{"type":"string[]","types":["array"],"description":"Tags the app groups markets by.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"example":"Crypto","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"category","type":"string · enum","required":true,"description":"Whether the market is crypto or a real-world asset — an account may be limited to one of the two.","example":"crypto","schema":{"type":"string · enum","types":["string"],"description":"Whether the market is crypto or a real-world asset — an account may be limited to one of the two.","enum":["crypto","rwa"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"priority","type":"number · nullable","required":true,"description":"Sort weight in the market list; higher comes first. Null when unranked.","example":"0","schema":{"type":"number · nullable","types":["number","null"],"description":"Sort weight in the market list; higher comes first. Null when unranked.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"state","type":"object","required":true,"description":"Live state: index price, funding and the depth an order is priced against.","example":"{\n  \"indexPrice\": \"1000000000\",\n  \"blockTimestamp\": 0,\n  \"fundingRate\": \"1000000000\",\n  \"nextFundingAt\": 0,\n  \"lastFundingAt\": 0,\n  \"vpiSpread\": \"1000000000\",\n  \"vpiMarketDepthLong\": \"1000000000\",\n  \"vpiMarketDepthShort\": \"1000000000\",\n  \"vpiCoefficientLong\": \"1000000000\",\n  \"vpiCoefficientShort\": \"1000000000\"\n}","schema":{"type":"object","types":["object"],"description":"Live state: index price, funding and the depth an order is priced against.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"indexPrice","type":"string · int32","required":true,"description":"Current index price of the market, fp9 raw — what orders are priced and triggers compared against.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Current index price of the market, fp9 raw — what orders are priced and triggers compared against.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"blockTimestamp","type":"number","required":true,"description":"When this state snapshot was produced, unix timestamp in milliseconds.","example":"0","schema":{"type":"number","types":["number"],"description":"When this state snapshot was produced, unix timestamp in milliseconds.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"fundingRate","type":"string · int32","required":true,"description":"Funding rate of the running interval, fp9 raw fraction. Positive means longs pay shorts.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Funding rate of the running interval, fp9 raw fraction. Positive means longs pay shorts.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"nextFundingAt","type":"number","required":true,"description":"When funding is settled next, unix timestamp in milliseconds.","example":"0","schema":{"type":"number","types":["number"],"description":"When funding is settled next, unix timestamp in milliseconds.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"lastFundingAt","type":"number · nullable","required":true,"description":"When funding was last settled, unix timestamp in milliseconds. Null before the first settlement.","example":"0","schema":{"type":"number · nullable","types":["number","null"],"description":"When funding was last settled, unix timestamp in milliseconds. Null before the first settlement.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"vpiSpread","type":"string · int32","required":true,"description":"Current spread charged on top of the index price, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Current spread charged on top of the index price, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"vpiMarketDepthLong","type":"string · int32","required":true,"description":"Depth available on the long side, fp9 raw. Orders large against it move the execution price.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Depth available on the long side, fp9 raw. Orders large against it move the execution price.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"vpiMarketDepthShort","type":"string · int32","required":true,"description":"Depth available on the short side, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Depth available on the short side, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"vpiCoefficientLong","type":"string · int32","required":true,"description":"Price-impact coefficient applied to long orders, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Price-impact coefficient applied to long orders, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"vpiCoefficientShort","type":"string · int32","required":true,"description":"Price-impact coefficient applied to short orders, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Price-impact coefficient applied to short orders, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}}],"variants":[]}},{"name":"settings","type":"object","required":true,"description":"Trading rules of the market: fees, margin ratios and the caps an order is checked against.","example":"{\n  \"fee\": \"1000000000\",\n  \"minInitMarginRatio\": \"1000000000\",\n  \"initMarginRatio\": \"1000000000\",\n  \"maintenanceMarginRatio\": \"1000000000\",\n  \"maxLeverageByAccount\": {\n    \"key\": \"1000000000\"\n  },\n  \"spreadLimit\": \"1000000000\",\n  \"maxPriceImpact\": \"1000000000\",\n  \"maxPriceSpread\": \"1000000000\",\n  \"maxOpenNotionalLong\": \"1000000000\",\n  \"maxOpenNotionalShort\": \"1000000000\",\n  \"minStopTriggerDistanceRatio\": \"1000000000\",\n  \"isCloseOnly\": true,\n  \"isClosed\": true,\n  \"isPaused\": true,\n  \"isZeroSpread\": true\n}","schema":{"type":"object","types":["object"],"description":"Trading rules of the market: fees, margin ratios and the caps an order is checked against.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"fee","type":"string · int32","required":true,"description":"Trading fee rate, fp9 raw fraction (`1000000` = 0.1%).","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Trading fee rate, fp9 raw fraction (`1000000` = 0.1%).","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"minInitMarginRatio","type":"string · int32","required":true,"description":"Smallest initial margin ratio the market accepts, fp9 raw fraction — the cap on leverage.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Smallest initial margin ratio the market accepts, fp9 raw fraction — the cap on leverage.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"initMarginRatio","type":"string · int32","required":true,"description":"Default initial margin ratio of the market, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Default initial margin ratio of the market, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maintenanceMarginRatio","type":"string · int32","required":true,"description":"Margin ratio below which a position is liquidated, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Margin ratio below which a position is liquidated, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxLeverageByAccount","type":"object","required":true,"description":"Highest leverage allowed per account type, fp9 raw, keyed by account type.","example":"{\n  \"key\": \"1000000000\"\n}","schema":{"type":"object","types":["object"],"description":"Highest leverage allowed per account type, fp9 raw, keyed by account type.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[],"additionalProperties":{"type":"string · int32","types":["string"],"example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}}},{"name":"spreadLimit","type":"string · int32","required":true,"description":"Largest spread the market will charge, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Largest spread the market will charge, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxPriceImpact","type":"string · int32","required":true,"description":"Largest price impact a single order may cause, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Largest price impact a single order may cause, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxPriceSpread","type":"string · int32","required":true,"description":"Largest deviation allowed between market and index price, fp9 raw fraction.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Largest deviation allowed between market and index price, fp9 raw fraction.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxOpenNotionalLong","type":"string · int32","required":true,"description":"Cap on open notional held long on this market, fp9 raw. `0` means no cap.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Cap on open notional held long on this market, fp9 raw. `0` means no cap.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxOpenNotionalShort","type":"string · int32","required":true,"description":"Cap on open notional held short on this market, fp9 raw. `0` means no cap.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Cap on open notional held short on this market, fp9 raw. `0` means no cap.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"minStopTriggerDistanceRatio","type":"string · int32","required":true,"description":"Minimum distance between the current price and a stop trigger, fp9 raw fraction. A closer trigger is pushed out to this distance.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Minimum distance between the current price and a stop trigger, fp9 raw fraction. A closer trigger is pushed out to this distance.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"isCloseOnly","type":"boolean","required":true,"description":"Whether the market only accepts orders that close a position.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether the market only accepts orders that close a position.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"isClosed","type":"boolean","required":true,"example":"true","schema":{"type":"boolean","types":["boolean"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"isPaused","type":"boolean","required":true,"example":"true","schema":{"type":"boolean","types":["boolean"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"isZeroSpread","type":"boolean","required":true,"description":"Whether the market currently trades without a spread.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether the market currently trades without a spread.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"change","type":"object","required":true,"description":"Reference prices for computing 1h, 4h and 24h price changes.","example":"{\n  \"initialPrice\": 0,\n  \"initialPrice1h\": 0,\n  \"initialPrice4h\": 0\n}","schema":{"type":"object","types":["object"],"description":"Reference prices for computing 1h, 4h and 24h price changes.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"initialPrice","type":"number","required":true,"description":"Price 24 hours ago, as a decimal number — the base of the daily change. `0` when no history is available.","example":"0","schema":{"type":"number","types":["number"],"description":"Price 24 hours ago, as a decimal number — the base of the daily change. `0` when no history is available.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialPrice1h","type":"number","required":true,"description":"Price one hour ago, as a decimal number. `0` when no history is available.","example":"0","schema":{"type":"number","types":["number"],"description":"Price one hour ago, as a decimal number. `0` when no history is available.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialPrice4h","type":"number","required":true,"description":"Price four hours ago, as a decimal number. `0` when no history is available.","example":"0","schema":{"type":"number","types":["number"],"description":"Price four hours ago, as a decimal number. `0` when no history is available.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"schedule","type":"object · nullable","required":true,"description":"Trading sessions of the market. Null when it trades around the clock.","example":"{\n  \"nextPauseAt\": 0,\n  \"nextUnpauseAt\": 0,\n  \"closestPauseAt\": 0,\n  \"closestUnpauseAt\": 0,\n  \"pausedAt\": 0,\n  \"inPause\": true\n}","schema":{"type":"object · nullable","types":["object"],"description":"Trading sessions of the market. Null when it trades around the clock.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"nextPauseAt","type":"number","required":true,"description":"Start of the next scheduled break, unix timestamp in milliseconds. `0` when the market has no breaks at all, and `9007199254740991` when none is scheduled ahead of the current one.","example":"0","schema":{"type":"number","types":["number"],"description":"Start of the next scheduled break, unix timestamp in milliseconds. `0` when the market has no breaks at all, and `9007199254740991` when none is scheduled ahead of the current one.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"nextUnpauseAt","type":"number","required":true,"description":"End of the break the market is in, or of the next one, unix timestamp in milliseconds. Same `0` and sentinel rules as `nextPauseAt`.","example":"0","schema":{"type":"number","types":["number"],"description":"End of the break the market is in, or of the next one, unix timestamp in milliseconds. Same `0` and sentinel rules as `nextPauseAt`.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"closestPauseAt","type":"number","required":true,"description":"Same value as `nextPauseAt`. Kept for backward compatibility.","example":"0","schema":{"type":"number","types":["number"],"description":"Same value as `nextPauseAt`. Kept for backward compatibility.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"closestUnpauseAt","type":"number","required":true,"description":"Same value as `nextUnpauseAt`. Kept for backward compatibility.","example":"0","schema":{"type":"number","types":["number"],"description":"Same value as `nextUnpauseAt`. Kept for backward compatibility.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"pausedAt","type":"number","required":true,"description":"Start of the break currently running, unix timestamp in milliseconds. `0` when the market is trading.","example":"0","schema":{"type":"number","types":["number"],"description":"Start of the break currently running, unix timestamp in milliseconds. `0` when the market is trading.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"inPause","type":"boolean","required":true,"description":"Whether the market is inside a scheduled break right now. Orders are refused while it is.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether the market is inside a scheduled break right now. Orders are refused while it is.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}}],"variants":[]},"example":"{\n  \"id\": \"00000000-0000-4000-8000-000000000000\",\n  \"config\": {\n    \"baseAsset\": \"BTC\",\n    \"quoteAsset\": \"USD\",\n    \"settlementToken\": \"USD\",\n    \"type\": \"base\",\n    \"name\": \"BTC\",\n    \"description\": \"Market description\",\n    \"ticker\": \"BTC/USD\",\n    \"imageLink\": \"https://app.storm.tg/markets/btc.png\",\n    \"tags\": [\n      \"Crypto\"\n    ],\n    \"category\": \"crypto\",\n    \"priority\": 0\n  },\n  \"state\": {\n    \"indexPrice\": \"1000000000\",\n    \"blockTimestamp\": 0,\n    \"fundingRate\": \"1000000000\",\n    \"nextFundingAt\": 0,\n    \"lastFundingAt\": 0,\n    \"vpiSpread\": \"1000000000\",\n    \"vpiMarketDepthLong\": \"1000000000\",\n    \"vpiMarketDepthShort\": \"1000000000\",\n    \"vpiCoefficientLong\": \"1000000000\",\n    \"vpiCoefficientShort\": \"1000000000\"\n  },\n  \"settings\": {\n    \"fee\": \"1000000000\",\n    \"minInitMarginRatio\": \"1000000000\",\n    \"initMarginRatio\": \"1000000000\",\n    \"maintenanceMarginRatio\": \"1000000000\",\n    \"maxLeverageByAccount\": {\n      \"key\": \"1000000000\"\n    },\n    \"spreadLimit\": \"1000000000\",\n    \"maxPriceImpact\": \"1000000000\",\n    \"maxPriceSpread\": \"1000000000\",\n    \"maxOpenNotionalLong\": \"1000000000\",\n    \"maxOpenNotionalShort\": \"1000000000\",\n    \"minStopTriggerDistanceRatio\": \"1000000000\",\n    \"isCloseOnly\": true,\n    \"isClosed\": true,\n    \"isPaused\": true,\n    \"isZeroSpread\": true\n  },\n  \"change\": {\n    \"initialPrice\": 0,\n    \"initialPrice1h\": 0,\n    \"initialPrice4h\": 0\n  },\n  \"schedule\": {\n    \"nextPauseAt\": 0,\n    \"nextUnpauseAt\": 0,\n    \"closestPauseAt\": 0,\n    \"closestUnpauseAt\": 0,\n    \"pausedAt\": 0,\n    \"inPause\": true\n  }\n}","headers":[]}],"security":[{"name":"bearer","type":"http · bearer","description":"Personal API key, prefixed with `usk_`.","required":true,"scopes":[]}],"codeSamples":[{"label":"cURL","language":"bash","source":"curl --request GET 'https://api.upscale.trade/v2/markets/{id}' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'"},{"label":"JavaScript","language":"javascript","source":"const response = await fetch(\"https://api.upscale.trade/v2/markets/{id}\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());"},{"label":"Python","language":"python","source":"import requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/v2/markets/{id}\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)"}]},"breadcrumbs":[{"title":"What is Prop Trading","url":"https://docs.upscale.trade"},{"title":"Developers","url":"https://docs.upscale.trade/developers"},{"title":"Get market by id","url":"https://docs.upscale.trade/developers/operations/getmarket"}],"headings":[{"depth":2,"id":"authorization","title":"Authorization"},{"depth":2,"id":"parameters","title":"Parameters"},{"depth":2,"id":"examples","title":"Examples"},{"depth":2,"id":"responses","title":"Responses"}],"markdown":"# Get market by id\n\n`GET /v2/markets/{id}`\n\nOne market with the same snapshot the list returns.\n\nResponds `404` when the market does not exist, is delisted, or is hidden from the caller.\n\n## Authorization\n\nbearer: http · bearer (required). Personal API key, prefixed with `usk_`.\n\n## Parameters\n\n- path: id (string · uuid; required). Market identifier, as returned by `GET /v2/markets`.\n\nType: string · uuid\n\nformat: uuid\n\n- query: accountId (string · uuid; optional). Trader account to resolve the market list against: leverage bounds and availability are returned as they apply to that account. Omitted — the platform-wide defaults are returned.\n\nType: string · uuid\n\nformat: uuid\n\npattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$\n\n## Example · cURL\n\n```bash\ncurl --request GET 'https://api.upscale.trade/v2/markets/{id}' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'\n```\n\n## Example · JavaScript\n\n```javascript\nconst response = await fetch(\"https://api.upscale.trade/v2/markets/{id}\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());\n```\n\n## Example · Python\n\n```python\nimport requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/v2/markets/{id}\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)\n```\n\n## Response 401\n\n**401**  — Unauthorized\n\n## Response 404\n\n**404**  — Market not found, delisted, or hidden from the caller.\n\n## Response 429\n\n**429**  — Rate limit of the API key exceeded (`api_key_rate_limit_exceeded`). `Retry-After` says when to come back; the body carries the bucket (`read` / `write`), the window that tripped, its limit and `retryAt`.\n\n## Response default · MarketV2Response\n\n**default** application/json — Response\n\nSchema: MarketV2Response\n\nType: object\n\nRequired fields: id, config, state, settings, change, schedule\n\nRequired field types: id (string · uuid; required), config (object; required), state (object; required), settings (object; required), change (object; required), schedule (object · nullable; required)\n\n- id (string · uuid; required)\n\nid example: 00000000-0000-4000-8000-000000000000\n\nid.Type: string · uuid\n\nid.Market identifier — the value order creation takes as `marketId`.\n\nid.format: uuid\n\nid.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$\n\n- config (object; required)\n\nconfig example: {\n  \"baseAsset\": \"BTC\",\n  \"quoteAsset\": \"USD\",\n  \"settlementToken\": \"USD\",\n  \"type\": \"base\",\n  \"name\": \"BTC\",\n  \"description\": \"Market description\",\n  \"ticker\": \"BTC/USD\",\n  \"imageLink\": \"https://app.storm.tg/markets/btc.png\",\n  \"tags\": [\n    \"Crypto\"\n  ],\n  \"category\": \"crypto\",\n  \"priority\": 0\n}\n\nconfig.Type: object\n\nconfig.Required fields: baseAsset, quoteAsset, settlementToken, type, name, description, ticker, imageLink, tags, category, priority\n\nconfig.Required field types: baseAsset (string; required), quoteAsset (string; required), settlementToken (string; required), type (string; required), name (string; required), description (string; required), ticker (string; required), imageLink (string; required), tags (string[]; required), category (string · enum; required), priority (number · nullable; required)\n\nconfig.Static description of the market: assets, naming and category.\n\n- config.baseAsset (string; required)\n\nconfig.baseAsset example: BTC\n\nconfig.baseAsset.Type: string\n\nconfig.baseAsset.Base asset ticker — the value the per-market endpoints take as `asset`.\n\n- config.quoteAsset (string; required)\n\nconfig.quoteAsset example: USD\n\nconfig.quoteAsset.Type: string\n\nconfig.quoteAsset.Asset prices and notionals are quoted in.\n\n- config.settlementToken (string; required)\n\nconfig.settlementToken example: USD\n\nconfig.settlementToken.Type: string\n\nconfig.settlementToken.Asset positions settle in.\n\n- config.type (string; required)\n\nconfig.type example: base\n\nconfig.type.Type: string\n\nconfig.type.Pricing model of the market.\n\n- config.name (string; required)\n\nconfig.name example: BTC\n\nconfig.name.Type: string\n\nconfig.name.Display name of the market.\n\n- config.description (string; required)\n\nconfig.description example: Market description\n\nconfig.description.Type: string\n\nconfig.description.Free-form description shown in the app.\n\n- config.ticker (string; required)\n\nconfig.ticker example: BTC/USD\n\nconfig.ticker.Type: string\n\nconfig.ticker.Full pair label.\n\n- config.imageLink (string; required)\n\nconfig.imageLink example: https://app.storm.tg/markets/btc.png\n\nconfig.imageLink.Type: string\n\nconfig.imageLink.Icon of the market.\n\n- config.tags (string[]; required)\n\nconfig.tags example: [\n  \"Crypto\"\n]\n\nconfig.tags.Type: string[]\n\nconfig.tags.Tags the app groups markets by.\n\nconfig.tags.[]Type: string\n\n- config.category (string · enum; required)\n\nconfig.category example: crypto\n\nconfig.category.Type: string · enum\n\nconfig.category.Whether the market is crypto or a real-world asset — an account may be limited to one of the two.\n\nconfig.category.Allowed values: [\"crypto\",\"rwa\"]\n\n- config.priority (number · nullable; required)\n\nconfig.priority example: 0\n\nconfig.priority.Type: number · nullable\n\nconfig.priority.Sort weight in the market list; higher comes first. Null when unranked.\n\n- state (object; required)\n\nstate example: {\n  \"indexPrice\": \"1000000000\",\n  \"blockTimestamp\": 0,\n  \"fundingRate\": \"1000000000\",\n  \"nextFundingAt\": 0,\n  \"lastFundingAt\": 0,\n  \"vpiSpread\": \"1000000000\",\n  \"vpiMarketDepthLong\": \"1000000000\",\n  \"vpiMarketDepthShort\": \"1000000000\",\n  \"vpiCoefficientLong\": \"1000000000\",\n  \"vpiCoefficientShort\": \"1000000000\"\n}\n\nstate.Type: object\n\nstate.Required fields: indexPrice, blockTimestamp, fundingRate, nextFundingAt, lastFundingAt, vpiSpread, vpiMarketDepthLong, vpiMarketDepthShort, vpiCoefficientLong, vpiCoefficientShort\n\nstate.Required field types: indexPrice (string · int32; required), blockTimestamp (number; required), fundingRate (string · int32; required), nextFundingAt (number; required), lastFundingAt (number · nullable; required), vpiSpread (string · int32; required), vpiMarketDepthLong (string · int32; required), vpiMarketDepthShort (string · int32; required), vpiCoefficientLong (string · int32; required), vpiCoefficientShort (string · int32; required)\n\nstate.Live state: index price, funding and the depth an order is priced against.\n\n- state.indexPrice (string · int32; required)\n\nstate.indexPrice example: 1000000000\n\nstate.indexPrice.Type: string · int32\n\nstate.indexPrice.Current index price of the market, fp9 raw — what orders are priced and triggers compared against.\n\nstate.indexPrice.format: int32\n\nstate.indexPrice.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- state.blockTimestamp (number; required)\n\nstate.blockTimestamp example: 0\n\nstate.blockTimestamp.Type: number\n\nstate.blockTimestamp.When this state snapshot was produced, unix timestamp in milliseconds.\n\n- state.fundingRate (string · int32; required)\n\nstate.fundingRate example: 1000000000\n\nstate.fundingRate.Type: string · int32\n\nstate.fundingRate.Funding rate of the running interval, fp9 raw fraction. Positive means longs pay shorts.\n\nstate.fundingRate.format: int32\n\nstate.fundingRate.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- state.nextFundingAt (number; required)\n\nstate.nextFundingAt example: 0\n\nstate.nextFundingAt.Type: number\n\nstate.nextFundingAt.When funding is settled next, unix timestamp in milliseconds.\n\n- state.lastFundingAt (number · nullable; required)\n\nstate.lastFundingAt example: 0\n\nstate.lastFundingAt.Type: number · nullable\n\nstate.lastFundingAt.When funding was last settled, unix timestamp in milliseconds. Null before the first settlement.\n\n- state.vpiSpread (string · int32; required)\n\nstate.vpiSpread example: 1000000000\n\nstate.vpiSpread.Type: string · int32\n\nstate.vpiSpread.Current spread charged on top of the index price, fp9 raw fraction.\n\nstate.vpiSpread.format: int32\n\nstate.vpiSpread.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- state.vpiMarketDepthLong (string · int32; required)\n\nstate.vpiMarketDepthLong example: 1000000000\n\nstate.vpiMarketDepthLong.Type: string · int32\n\nstate.vpiMarketDepthLong.Depth available on the long side, fp9 raw. Orders large against it move the execution price.\n\nstate.vpiMarketDepthLong.format: int32\n\nstate.vpiMarketDepthLong.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- state.vpiMarketDepthShort (string · int32; required)\n\nstate.vpiMarketDepthShort example: 1000000000\n\nstate.vpiMarketDepthShort.Type: string · int32\n\nstate.vpiMarketDepthShort.Depth available on the short side, fp9 raw.\n\nstate.vpiMarketDepthShort.format: int32\n\nstate.vpiMarketDepthShort.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- state.vpiCoefficientLong (string · int32; required)\n\nstate.vpiCoefficientLong example: 1000000000\n\nstate.vpiCoefficientLong.Type: string · int32\n\nstate.vpiCoefficientLong.Price-impact coefficient applied to long orders, fp9 raw.\n\nstate.vpiCoefficientLong.format: int32\n\nstate.vpiCoefficientLong.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- state.vpiCoefficientShort (string · int32; required)\n\nstate.vpiCoefficientShort example: 1000000000\n\nstate.vpiCoefficientShort.Type: string · int32\n\nstate.vpiCoefficientShort.Price-impact coefficient applied to short orders, fp9 raw.\n\nstate.vpiCoefficientShort.format: int32\n\nstate.vpiCoefficientShort.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings (object; required)\n\nsettings example: {\n  \"fee\": \"1000000000\",\n  \"minInitMarginRatio\": \"1000000000\",\n  \"initMarginRatio\": \"1000000000\",\n  \"maintenanceMarginRatio\": \"1000000000\",\n  \"maxLeverageByAccount\": {\n    \"key\": \"1000000000\"\n  },\n  \"spreadLimit\": \"1000000000\",\n  \"maxPriceImpact\": \"1000000000\",\n  \"maxPriceSpread\": \"1000000000\",\n  \"maxOpenNotionalLong\": \"1000000000\",\n  \"maxOpenNotionalShort\": \"1000000000\",\n  \"minStopTriggerDistanceRatio\": \"1000000000\",\n  \"isCloseOnly\": true,\n  \"isClosed\": true,\n  \"isPaused\": true,\n  \"isZeroSpread\": true\n}\n\nsettings.Type: object\n\nsettings.Required fields: fee, minInitMarginRatio, initMarginRatio, maintenanceMarginRatio, maxLeverageByAccount, spreadLimit, maxPriceImpact, maxPriceSpread, maxOpenNotionalLong, maxOpenNotionalShort, minStopTriggerDistanceRatio, isCloseOnly, isClosed, isPaused, isZeroSpread\n\nsettings.Required field types: fee (string · int32; required), minInitMarginRatio (string · int32; required), initMarginRatio (string · int32; required), maintenanceMarginRatio (string · int32; required), maxLeverageByAccount (object; required), spreadLimit (string · int32; required), maxPriceImpact (string · int32; required), maxPriceSpread (string · int32; required), maxOpenNotionalLong (string · int32; required), maxOpenNotionalShort (string · int32; required), minStopTriggerDistanceRatio (string · int32; required), isCloseOnly (boolean; required), isClosed (boolean; required), isPaused (boolean; required), isZeroSpread (boolean; required)\n\nsettings.Trading rules of the market: fees, margin ratios and the caps an order is checked against.\n\n- settings.fee (string · int32; required)\n\nsettings.fee example: 1000000000\n\nsettings.fee.Type: string · int32\n\nsettings.fee.Trading fee rate, fp9 raw fraction (`1000000` = 0.1%).\n\nsettings.fee.format: int32\n\nsettings.fee.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.minInitMarginRatio (string · int32; required)\n\nsettings.minInitMarginRatio example: 1000000000\n\nsettings.minInitMarginRatio.Type: string · int32\n\nsettings.minInitMarginRatio.Smallest initial margin ratio the market accepts, fp9 raw fraction — the cap on leverage.\n\nsettings.minInitMarginRatio.format: int32\n\nsettings.minInitMarginRatio.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.initMarginRatio (string · int32; required)\n\nsettings.initMarginRatio example: 1000000000\n\nsettings.initMarginRatio.Type: string · int32\n\nsettings.initMarginRatio.Default initial margin ratio of the market, fp9 raw fraction.\n\nsettings.initMarginRatio.format: int32\n\nsettings.initMarginRatio.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.maintenanceMarginRatio (string · int32; required)\n\nsettings.maintenanceMarginRatio example: 1000000000\n\nsettings.maintenanceMarginRatio.Type: string · int32\n\nsettings.maintenanceMarginRatio.Margin ratio below which a position is liquidated, fp9 raw fraction.\n\nsettings.maintenanceMarginRatio.format: int32\n\nsettings.maintenanceMarginRatio.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.maxLeverageByAccount (object; required)\n\nsettings.maxLeverageByAccount example: {\n  \"key\": \"1000000000\"\n}\n\nsettings.maxLeverageByAccount.Type: object\n\nsettings.maxLeverageByAccount.Highest leverage allowed per account type, fp9 raw, keyed by account type.\n\nsettings.maxLeverageByAccount.*.Type: string · int32\n\nsettings.maxLeverageByAccount.*.Example: \"1000000000\"\n\nsettings.maxLeverageByAccount.*.format: int32\n\nsettings.maxLeverageByAccount.*.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.spreadLimit (string · int32; required)\n\nsettings.spreadLimit example: 1000000000\n\nsettings.spreadLimit.Type: string · int32\n\nsettings.spreadLimit.Largest spread the market will charge, fp9 raw fraction.\n\nsettings.spreadLimit.format: int32\n\nsettings.spreadLimit.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.maxPriceImpact (string · int32; required)\n\nsettings.maxPriceImpact example: 1000000000\n\nsettings.maxPriceImpact.Type: string · int32\n\nsettings.maxPriceImpact.Largest price impact a single order may cause, fp9 raw fraction.\n\nsettings.maxPriceImpact.format: int32\n\nsettings.maxPriceImpact.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.maxPriceSpread (string · int32; required)\n\nsettings.maxPriceSpread example: 1000000000\n\nsettings.maxPriceSpread.Type: string · int32\n\nsettings.maxPriceSpread.Largest deviation allowed between market and index price, fp9 raw fraction.\n\nsettings.maxPriceSpread.format: int32\n\nsettings.maxPriceSpread.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.maxOpenNotionalLong (string · int32; required)\n\nsettings.maxOpenNotionalLong example: 1000000000\n\nsettings.maxOpenNotionalLong.Type: string · int32\n\nsettings.maxOpenNotionalLong.Cap on open notional held long on this market, fp9 raw. `0` means no cap.\n\nsettings.maxOpenNotionalLong.format: int32\n\nsettings.maxOpenNotionalLong.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.maxOpenNotionalShort (string · int32; required)\n\nsettings.maxOpenNotionalShort example: 1000000000\n\nsettings.maxOpenNotionalShort.Type: string · int32\n\nsettings.maxOpenNotionalShort.Cap on open notional held short on this market, fp9 raw. `0` means no cap.\n\nsettings.maxOpenNotionalShort.format: int32\n\nsettings.maxOpenNotionalShort.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.minStopTriggerDistanceRatio (string · int32; required)\n\nsettings.minStopTriggerDistanceRatio example: 1000000000\n\nsettings.minStopTriggerDistanceRatio.Type: string · int32\n\nsettings.minStopTriggerDistanceRatio.Minimum distance between the current price and a stop trigger, fp9 raw fraction. A closer trigger is pushed out to this distance.\n\nsettings.minStopTriggerDistanceRatio.format: int32\n\nsettings.minStopTriggerDistanceRatio.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- settings.isCloseOnly (boolean; required)\n\nsettings.isCloseOnly example: true\n\nsettings.isCloseOnly.Type: boolean\n\nsettings.isCloseOnly.Whether the market only accepts orders that close a position.\n\n- settings.isClosed (boolean; required)\n\nsettings.isClosed example: true\n\nsettings.isClosed.Type: boolean\n\n- settings.isPaused (boolean; required)\n\nsettings.isPaused example: true\n\nsettings.isPaused.Type: boolean\n\n- settings.isZeroSpread (boolean; required)\n\nsettings.isZeroSpread example: true\n\nsettings.isZeroSpread.Type: boolean\n\nsettings.isZeroSpread.Whether the market currently trades without a spread.\n\n- change (object; required)\n\nchange example: {\n  \"initialPrice\": 0,\n  \"initialPrice1h\": 0,\n  \"initialPrice4h\": 0\n}\n\nchange.Type: object\n\nchange.Required fields: initialPrice, initialPrice1h, initialPrice4h\n\nchange.Required field types: initialPrice (number; required), initialPrice1h (number; required), initialPrice4h (number; required)\n\nchange.Reference prices for computing 1h, 4h and 24h price changes.\n\n- change.initialPrice (number; required)\n\nchange.initialPrice example: 0\n\nchange.initialPrice.Type: number\n\nchange.initialPrice.Price 24 hours ago, as a decimal number — the base of the daily change. `0` when no history is available.\n\n- change.initialPrice1h (number; required)\n\nchange.initialPrice1h example: 0\n\nchange.initialPrice1h.Type: number\n\nchange.initialPrice1h.Price one hour ago, as a decimal number. `0` when no history is available.\n\n- change.initialPrice4h (number; required)\n\nchange.initialPrice4h example: 0\n\nchange.initialPrice4h.Type: number\n\nchange.initialPrice4h.Price four hours ago, as a decimal number. `0` when no history is available.\n\n- schedule (object · nullable; required)\n\nschedule example: {\n  \"nextPauseAt\": 0,\n  \"nextUnpauseAt\": 0,\n  \"closestPauseAt\": 0,\n  \"closestUnpauseAt\": 0,\n  \"pausedAt\": 0,\n  \"inPause\": true\n}\n\nschedule.Type: object · nullable\n\nschedule.Required fields: nextPauseAt, nextUnpauseAt, closestPauseAt, closestUnpauseAt, pausedAt, inPause\n\nschedule.Required field types: nextPauseAt (number; required), nextUnpauseAt (number; required), closestPauseAt (number; required), closestUnpauseAt (number; required), pausedAt (number; required), inPause (boolean; required)\n\nschedule.Trading sessions of the market. Null when it trades around the clock.\n\n- schedule.nextPauseAt (number; required)\n\nschedule.nextPauseAt example: 0\n\nschedule.nextPauseAt.Type: number\n\nschedule.nextPauseAt.Start of the next scheduled break, unix timestamp in milliseconds. `0` when the market has no breaks at all, and `9007199254740991` when none is scheduled ahead of the current one.\n\n- schedule.nextUnpauseAt (number; required)\n\nschedule.nextUnpauseAt example: 0\n\nschedule.nextUnpauseAt.Type: number\n\nschedule.nextUnpauseAt.End of the break the market is in, or of the next one, unix timestamp in milliseconds. Same `0` and sentinel rules as `nextPauseAt`.\n\n- schedule.closestPauseAt (number; required)\n\nschedule.closestPauseAt example: 0\n\nschedule.closestPauseAt.Type: number\n\nschedule.closestPauseAt.Same value as `nextPauseAt`. Kept for backward compatibility.\n\n- schedule.closestUnpauseAt (number; required)\n\nschedule.closestUnpauseAt example: 0\n\nschedule.closestUnpauseAt.Type: number\n\nschedule.closestUnpauseAt.Same value as `nextUnpauseAt`. Kept for backward compatibility.\n\n- schedule.pausedAt (number; required)\n\nschedule.pausedAt example: 0\n\nschedule.pausedAt.Type: number\n\nschedule.pausedAt.Start of the break currently running, unix timestamp in milliseconds. `0` when the market is trading.\n\n- schedule.inPause (boolean; required)\n\nschedule.inPause example: true\n\nschedule.inPause.Type: boolean\n\nschedule.inPause.Whether the market is inside a scheduled break right now. Orders are refused while it is.\n\nExample\n\n\n\n```json\n{\n  \"id\": \"00000000-0000-4000-8000-000000000000\",\n  \"config\": {\n    \"baseAsset\": \"BTC\",\n    \"quoteAsset\": \"USD\",\n    \"settlementToken\": \"USD\",\n    \"type\": \"base\",\n    \"name\": \"BTC\",\n    \"description\": \"Market description\",\n    \"ticker\": \"BTC/USD\",\n    \"imageLink\": \"https://app.storm.tg/markets/btc.png\",\n    \"tags\": [\n      \"Crypto\"\n    ],\n    \"category\": \"crypto\",\n    \"priority\": 0\n  },\n  \"state\": {\n    \"indexPrice\": \"1000000000\",\n    \"blockTimestamp\": 0,\n    \"fundingRate\": \"1000000000\",\n    \"nextFundingAt\": 0,\n    \"lastFundingAt\": 0,\n    \"vpiSpread\": \"1000000000\",\n    \"vpiMarketDepthLong\": \"1000000000\",\n    \"vpiMarketDepthShort\": \"1000000000\",\n    \"vpiCoefficientLong\": \"1000000000\",\n    \"vpiCoefficientShort\": \"1000000000\"\n  },\n  \"settings\": {\n    \"fee\": \"1000000000\",\n    \"minInitMarginRatio\": \"1000000000\",\n    \"initMarginRatio\": \"1000000000\",\n    \"maintenanceMarginRatio\": \"1000000000\",\n    \"maxLeverageByAccount\": {\n      \"key\": \"1000000000\"\n    },\n    \"spreadLimit\": \"1000000000\",\n    \"maxPriceImpact\": \"1000000000\",\n    \"maxPriceSpread\": \"1000000000\",\n    \"maxOpenNotionalLong\": \"1000000000\",\n    \"maxOpenNotionalShort\": \"1000000000\",\n    \"minStopTriggerDistanceRatio\": \"1000000000\",\n    \"isCloseOnly\": true,\n    \"isClosed\": true,\n    \"isPaused\": true,\n    \"isZeroSpread\": true\n  },\n  \"change\": {\n    \"initialPrice\": 0,\n    \"initialPrice1h\": 0,\n    \"initialPrice4h\": 0\n  },\n  \"schedule\": {\n    \"nextPauseAt\": 0,\n    \"nextUnpauseAt\": 0,\n    \"closestPauseAt\": 0,\n    \"closestUnpauseAt\": 0,\n    \"pausedAt\": 0,\n    \"inPause\": true\n  }\n}\n```","text":"Get market by id One market with the same snapshot the list returns. Responds `404` when the market does not exist, is delisted, or is hidden from the caller. GET /v2/markets/{id} Config id Market identifier, as returned by `GET /v2/markets`. string · uuid accountId Trader account to resolve the market list against: leverage bounds and availability are returned as they apply to that account. Omitted — the platform-wide defaults are returned. string · uuid 401 Unauthorized 404 Market not found, delisted, or hidden from the caller. 429 Rate limit of the API key exceeded (`api_key_rate_limit_exceeded`). `Retry-After` says when to come back; the body carries the bucket (`read` / `write`), the window that tripped, its limit and `retryAt`. default Response id Market identifier — the value order creation takes as `marketId`. string · uuid config Static description of the market: assets, naming and category. object state Live state: index price, funding and the depth an order is priced against. object settings Trading rules of the market: fees, margin ratios and the caps an order is checked against. object change Reference prices for computing 1h, 4h and 24h price changes. object schedule Trading sessions of the market. Null when it trades around the clock. object · nullable","api":{"title":"Upscale Public API","version":"d796ac9","documentation":"https://docs.upscale.trade/developers","playgroundServer":"https://api.upscale.trade"}}