{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Key Definitions","description":"The first provable exchange","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"key-definitions"},"children":["Key Definitions"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API Key"]},": An API key is an alphanumeric string that is used to identify and authenticate an application or user to interact with API/WS endpoints. This is required for almost ALL endpoints covered in this documentation except ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/market"]}," REST and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/ws/market"]}," WS endpoints. This key is NOT used for signing; that is done using your Private/Secret key."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Private/Secret"]}," Key: A private key is a cryptographic code that's used to sign transactions and to prove ownership of your Hibachi Account. NOTE: This is NOT your crypto wallet’s private key. You will ONLY use this key to generate ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["signatures"]}," for a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["subset"]}," of endpoints you are interacting with."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Trustless Account"]},": A trustless account is a Hibachi Account you created via directly connecting to your crypto wallet. You will generate a signature with your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ECDSA Private Key"]}," using the ECDSA method."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Exchange Managed Account"]},": An exchange managed account is a Hibachi Account you created via email or social login. You will generate a signature with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HMAC Secret Key"]}," using the HMAC method."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Asset Quantities"]},": All quantities on Hibachi are represented internally as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["64-bit"]}," numbers. In order to enable trading fractional quantities (e.g. 0.01 BTC), each asset on Hibachi has a specific fixed number of decimals."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["BTC may be represented with 10 decimals"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This means 1 BTC is stored as ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["1 x 10^10 = 10,000,000,000"]}," quantity on the exchange"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When making trades, querying positions and similar, Hibachi will still expose and expect numbers as \"real\" float strings (e.g. \"quantity: 1.0\" for 1 BTC)."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This way, users don't need to constantly convert numbers in order to be able to reason about them. However, this quantity notation is important when:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Signing any operations (trades, withdrawals, etc) since we want the traders to specify exactly what they want to trade and not leave room for misinterpretations."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Interacting with the Hibachi smart contracts"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The number of decimals is exposed for each contract in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/market/exchange-info"]}," endpoint response under the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["underlyingDecimals"]}," field."]}]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Asset Prices"]},": Like quantities, asset prices are also ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["64-bit"]}," numbers that conform to decimals. Prices are used when converting between underlying and the settlement token in a market."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For example, on BTC/USDT-P a price of 100,000 may be used in a limit order to indicate that somebody is willing to sell BTC for 100,000 USDT per BTC. Price is always denoted in units of the settlementAsset."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Since both the underlying and settlement assets have unique quantity decimals, the price is stored in the difference between both decimals (settlementDecimals - underlyingDecimals)."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In order to support higher resolution of prices, an additional price multiplier of 2^32 is used to represent prices as fixed-point decimals with 32 bits after the decimal point."]}]}]}]}]}]},"headings":[{"value":"Key Definitions","id":"key-definitions","depth":1}],"frontmatter":{"seo":{"title":"Key Definitions"}},"lastModified":"2025-04-15T10:57:42.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/api/definitions","userData":{"isAuthenticated":false,"teams":["anonymous"]}}