{"openapi":"3.1.0","info":{"title":"Jinx Capital","version":"1.0.0","description":"Market data, free and without a key. A field states its unit in its name: anything ending Percent is a percent, a rate is a fraction, everything else is dollars. Every time is ISO 8601 in UTC and every pair is written BASE-QUOTE. An answer is held for as long as the reading behind it, and a failure is never held."},"servers":[{"url":"http://api.jinx.capital"}],"paths":{"/coins":{"get":{"summary":"The top hundred by market cap.","parameters":[{"name":"filter","in":"query","required":false,"description":"An exact name or symbol, case insensitive.","schema":{"type":"string"}}],"responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The identifier /coins/{id} takes."},"name":{"type":"string"},"symbol":{"type":"string","description":"Ticker, lower case."},"rank":{"type":"integer","description":"By market cap."},"price":{"type":"number","description":"Dollars."},"priceChange24h":{"type":"number"},"priceChangePercent24h":{"type":"number","description":"A percent, not a fraction."},"marketCap":{"type":"number"},"volume24h":{"type":"number"},"ath":{"type":"number"},"athChangePercent":{"type":"number"}}}}}}}}}}}},"/coins/{id}":{"get":{"summary":"One coin, by id or symbol, with its price series and its perpetuals.","parameters":[{"name":"id","in":"path","required":true,"description":"A coin id or symbol.","schema":{"type":"string","examples":["bitcoin"]}}],"responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"allOf":[{"type":"object","properties":{"id":{"type":"string","description":"The identifier /coins/{id} takes."},"name":{"type":"string"},"symbol":{"type":"string","description":"Ticker, lower case."},"rank":{"type":"integer","description":"By market cap."},"price":{"type":"number","description":"Dollars."},"priceChange24h":{"type":"number"},"priceChangePercent24h":{"type":"number","description":"A percent, not a fraction."},"marketCap":{"type":"number"},"volume24h":{"type":"number"},"ath":{"type":"number"},"athChangePercent":{"type":"number"}}},{"type":"object","properties":{"sparkline":{"type":"array","items":{"type":"number"}},"perpetuals":{"type":"array","items":{"type":"object","properties":{"coin":{"type":"string"},"venue":{"type":"string"},"contract":{"type":"string","description":"What the venue calls it, eg BTCUSDT."},"fundingRate":{"type":"number","description":"A fraction of the notional, as every venue publishes it."},"fundingIntervalHours":{"type":"number"},"fundingAnnualisedPercent":{"type":"number","description":"A percent, and the only figure comparable between venues."},"markPrice":{"type":"number"},"volume24h":{"type":"number"},"openInterest":{"type":["number","null"],"description":"Absent from the board listing."},"openInterestValue":{"type":["number","null"]},"longAccountsPercent":{"type":["number","null"]},"shortAccountsPercent":{"type":["number","null"]}}}}}}]}}}}}},"404":{"description":"Nothing answers it.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}}}}},"/coins/{id}/chart.png":{"get":{"summary":"The last 72 hours as a 1280x720 candlestick chart.","parameters":[{"name":"id","in":"path","required":true,"description":"A coin id or symbol.","schema":{"type":"string","examples":["bitcoin"]}}],"responses":{"200":{"description":"The chart.","content":{"image/png":{}}},"404":{"description":"No such coin.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}}}}},"/markets/{pair}/candles":{"get":{"summary":"Hourly candles for a pair.","parameters":[{"name":"pair","in":"path","required":true,"description":"BASE-QUOTE.","schema":{"type":"string","examples":["BTC-USD"]}},{"name":"limit","in":"query","required":false,"description":"How many of the most recent, 1 to 336.","schema":{"type":"integer"}}],"responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"time":{"type":"string","format":"date-time"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"}}}},"meta":{"type":"object","properties":{"pair":{"type":"string"},"venue":{"type":"string"},"interval":{"type":"string"}},"description":"The venue that answered and the pair it actually quoted."}}}}}},"400":{"description":"The request is malformed.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}},"404":{"description":"Nothing answers it.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}}}}},"/markets/{pair}/depth":{"get":{"summary":"Resting size near the touch, across every venue that publishes a book.","parameters":[{"name":"pair","in":"path","required":true,"description":"BASE-QUOTE.","schema":{"type":"string","examples":["BTC-USD"]}}],"responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"bands":{"type":"array","items":{"type":"object","properties":{"percent":{"type":"number","description":"How far from mid this band reaches."},"bids":{"type":["number","null"],"description":"Null where no book reaches the band."},"asks":{"type":["number","null"]},"venues":{"type":"integer","description":"How many venues could see it."}}}},"venues":{"type":"array","items":{"type":"object","properties":{"venue":{"type":"string"},"mid":{"type":"number"},"reach":{"type":"number","description":"How far its book actually reached."},"bands":{"type":"array","items":{"type":"object","properties":{"percent":{"type":"number","description":"How far from mid this band reaches."},"bids":{"type":["number","null"],"description":"Null where no book reaches the band."},"asks":{"type":["number","null"]},"venues":{"type":"integer","description":"How many venues could see it."}}}}}}}}}}}}}},"400":{"description":"The request is malformed.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}},"404":{"description":"Nothing answers it.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}}}}},"/perpetuals":{"get":{"summary":"Every perpetual read, deepest book first.","parameters":[{"name":"coin","in":"query","required":false,"description":"One coin, by symbol.","schema":{"type":"string"}},{"name":"venue","in":"query","required":false,"description":"One venue, by name.","schema":{"type":"string"}},{"name":"minVolume","in":"query","required":false,"description":"Dollars of 24h volume to qualify.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Page size, up to 1000.","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Where the page starts.","schema":{"type":"integer"}}],"responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"coin":{"type":"string"},"venue":{"type":"string"},"contract":{"type":"string","description":"What the venue calls it, eg BTCUSDT."},"fundingRate":{"type":"number","description":"A fraction of the notional, as every venue publishes it."},"fundingIntervalHours":{"type":"number"},"fundingAnnualisedPercent":{"type":"number","description":"A percent, and the only figure comparable between venues."},"markPrice":{"type":"number"},"volume24h":{"type":"number"},"openInterest":{"type":["number","null"],"description":"Absent from the board listing."},"openInterestValue":{"type":["number","null"]},"longAccountsPercent":{"type":["number","null"]},"shortAccountsPercent":{"type":["number","null"]}}}},"meta":{"type":"object","properties":{"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"}}}}}}}},"400":{"description":"The request is malformed.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}}}}},"/perpetuals/{coin}":{"get":{"summary":"Every venue's contract on one coin.","parameters":[{"name":"coin","in":"path","required":true,"description":"A coin symbol.","schema":{"type":"string","examples":["btc"]}}],"responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"coin":{"type":"string"},"venue":{"type":"string"},"contract":{"type":"string","description":"What the venue calls it, eg BTCUSDT."},"fundingRate":{"type":"number","description":"A fraction of the notional, as every venue publishes it."},"fundingIntervalHours":{"type":"number"},"fundingAnnualisedPercent":{"type":"number","description":"A percent, and the only figure comparable between venues."},"markPrice":{"type":"number"},"volume24h":{"type":"number"},"openInterest":{"type":["number","null"],"description":"Absent from the board listing."},"openInterestValue":{"type":["number","null"]},"longAccountsPercent":{"type":["number","null"]},"shortAccountsPercent":{"type":["number","null"]}}}}}}}}},"404":{"description":"Nothing answers it.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}}}}},"/exchanges":{"get":{"summary":"What is sitting on each venue, and which way it moved.","responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}}}}}}}}}},"/global":{"get":{"summary":"What the whole market is worth.","responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object"}}}}}}}}},"/liquidations":{"get":{"summary":"What got liquidated across the market, and which side wore it.","responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object"}}}}}}}}},"/tradfi":{"get":{"summary":"The indices, futures, commodities, yields and crosses crypto trades against.","responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"us, europe, asia, futures, commodities, yields, fx."},"unit":{"type":"string","description":"percent, or basis where the markets in it are quoted as a rate already."},"markets":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"Yahoo's, eg ^GSPC."},"name":{"type":"string"},"currency":{"type":"string"},"price":{"type":"number"},"day":{"type":["object","null"],"description":"Null where the series does not reach back that far. Never a zero standing in for it.","properties":{"percent":{"type":"number"},"absolute":{"type":"number","description":"The one to read on a yield, where it is a basis point."}}},"week":{"type":["object","null"],"description":"Null where the series does not reach back that far. Never a zero standing in for it.","properties":{"percent":{"type":"number"},"absolute":{"type":"number","description":"The one to read on a yield, where it is a basis point."}}},"month":{"type":["object","null"],"description":"Null where the series does not reach back that far. Never a zero standing in for it.","properties":{"percent":{"type":"number"},"absolute":{"type":"number","description":"The one to read on a yield, where it is a basis point."}}},"ytd":{"type":["object","null"],"description":"A futures ytd carries the contract rolls with it.","properties":{"percent":{"type":"number"},"absolute":{"type":"number","description":"The one to read on a yield, where it is a basis point."}}},"fiftyTwoWeekHigh":{"type":["number","null"]},"fiftyTwoWeekLow":{"type":["number","null"]},"open":{"type":"boolean","description":"Whether that venue is trading right now."},"at":{"type":"string","format":"date-time","description":"When it last printed."}}}}}}}}}}}}}}},"/tradfi/{block}":{"get":{"summary":"One block of that board.","parameters":[{"name":"block","in":"path","required":true,"description":"A block name.","schema":{"type":"string","examples":["yields"]}}],"responses":{"200":{"description":"The reading.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"us, europe, asia, futures, commodities, yields, fx."},"unit":{"type":"string","description":"percent, or basis where the markets in it are quoted as a rate already."},"markets":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"Yahoo's, eg ^GSPC."},"name":{"type":"string"},"currency":{"type":"string"},"price":{"type":"number"},"day":{"type":["object","null"],"description":"Null where the series does not reach back that far. Never a zero standing in for it.","properties":{"percent":{"type":"number"},"absolute":{"type":"number","description":"The one to read on a yield, where it is a basis point."}}},"week":{"type":["object","null"],"description":"Null where the series does not reach back that far. Never a zero standing in for it.","properties":{"percent":{"type":"number"},"absolute":{"type":"number","description":"The one to read on a yield, where it is a basis point."}}},"month":{"type":["object","null"],"description":"Null where the series does not reach back that far. Never a zero standing in for it.","properties":{"percent":{"type":"number"},"absolute":{"type":"number","description":"The one to read on a yield, where it is a basis point."}}},"ytd":{"type":["object","null"],"description":"A futures ytd carries the contract rolls with it.","properties":{"percent":{"type":"number"},"absolute":{"type":"number","description":"The one to read on a yield, where it is a basis point."}}},"fiftyTwoWeekHigh":{"type":["number","null"]},"fiftyTwoWeekLow":{"type":["number","null"]},"open":{"type":"boolean","description":"Whether that venue is trading right now."},"at":{"type":"string","format":"date-time","description":"When it last printed."}}}}}}}}}}}},"404":{"description":"Nothing answers it.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. `error` repeats `detail` for older clients.","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"error":{"type":"string"}}}}}}}}}}}