Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.hit.com/llms.txt

Use this file to discover all available pages before exploring further.

Base URL:
wss://markets.hit.com
For /user API key signatures, see Developer Authentication.

Namespaces

/

Authentication: Public Public order book and event data.

/user

Authentication: API key HMAC User-specific balances, positions, orders, and trades.

Public Client Messages

EventPayload typeDescription
pingPingPayloadHealth check.
orderbook-market-connectOrderbookTokenIdsSubscribe to outcome token IDs.
orderbook-market-disconnectOrderbookTokenIdsUnsubscribe from outcome token IDs.
event-connectUUID string or omittedSubscribe to an event UUID, or all event updates when omitted.
event-disconnectUUID string or omittedUnsubscribe from an event UUID, or the all-events subscription when omitted.
PingPayload:
FieldTypeRequiredDescription
noneobjectNoSend an empty object.

Subscribe to Token Order Books

orderbook-market-connect
Authentication: Public Subscribe to one or more outcome token IDs. Use the market tokenId1 and tokenId2 values from market data when you want both sides of a binary market. Payload type: OrderbookTokenIds.
[
  "66539633449217268141320411658481757807854020589069449399851604049177251401512"
]
Socket.IO example:
socket.emit("orderbook-market-connect", [
  "66539633449217268141320411658481757807854020589069449399851604049177251401512",
]);
On subscribe, the backend joins one order book room per token ID and requests an initial snapshot for each token. Successful snapshots are emitted on orderbook as an OrderBook[]. Live level changes are emitted later on orderbook-price-change. If an initial snapshot cannot be loaded because of a transient backend failure, the server emits orderbook-error with the affected tokenIds. Unknown token IDs may produce no snapshot and no error.

Unsubscribe from Token Order Books

orderbook-market-disconnect
Authentication: Public Stop receiving order book snapshots and deltas for one or more outcome token IDs. Payload type: OrderbookTokenIds.
[
  "66539633449217268141320411658481757807854020589069449399851604049177251401512"
]
Socket.IO example:
socket.emit("orderbook-market-disconnect", [
  "66539633449217268141320411658481757807854020589069449399851604049177251401512",
]);
The backend does not emit a dedicated unsubscribe confirmation event. OrderbookTokenIds:
FieldTypeRequiredDescription
nonestring[]YesArray of outcome token IDs.

Public Server Events

EventPayload typeDescription
pongPongPayloadPing response.
app-errorAppErrorWebSocket error frame.
orderbookOrderBook[]Order book snapshot.
orderbook-price-changeOrderBookPriceChangePrice level delta.
orderbook-errorOrderBookErrorTransient snapshot load failure.
event-onchain-updateEventOnchainUpdatePublic or EventOnchainUpdateRawOn-chain event or market update.
tick-size-changeTickSizeChangeMarket tick size update.
order-speed-bump-pendingOrderSpeedBumpPendingOrder delayed before matching.
PongPayload:
FieldTypeRequiredDescription
noneobjectNoEmpty object.
AppError:
FieldTypeRequiredDescription
messagestring or objectYesError message or structured WebSocket exception payload.
OrderBook:
FieldTypeRequiredDescription
marketUUID stringYesMarket UUID.
asset_idstringYesOutcome token ID.
hashstringYesBook state hash.
timestampintegerYesBook timestamp.
bidsOrderBookLevel[]YesBid price levels.
asksOrderBookLevel[]YesAsk price levels.
tick_sizestringYesMinimum price increment.
OrderBookLevel:
FieldTypeRequiredDescription
pricestringYesPrice level.
sizestringYesAvailable size at the level.
OrderBookPriceChange:
FieldTypeRequiredDescription
asset_idstringYesOutcome token ID.
marketUUID stringYesMarket UUID.
changesOrderBookPriceLevel[]YesChanged price levels.
timestampstringYesDelta timestamp.
hashstringYesBook state hash after the delta.
tick_sizestringYesMinimum price increment.
OrderBookPriceLevel:
FieldTypeRequiredDescription
pricestringYesPrice level.
sideenum stringYesbuy or sell.
sizestringYesNew size at the level.
OrderBookError:
FieldTypeRequiredDescription
tokenIdsstring[]YesToken IDs whose initial snapshot could not be loaded.
reasonenum stringYessnapshot_unavailable.
retryablebooleanYesWhether the client should retry.
EventOnchainUpdatePublic:
FieldTypeRequiredDescription
event_typeenum stringYesevent_onchain_update.
eventIdUUID stringYesEvent UUID.
marketIdUUID stringYesMarket UUID.
statusenum stringYesproposed or resolved.
timestampintegerNoBlock timestamp.
EventOnchainUpdateRaw:
FieldTypeRequiredDescription
eventIdUUID stringYesEvent UUID.
marketIdUUID stringYesMarket UUID.
ancillaryDatastringYesUMA ancillary data.
statusenum stringYesinitialized, registered, proposed, resolved, disputed, settled, or paused.
frombooleanYesPrevious on-chain boolean state.
tobooleanYesNew on-chain boolean state.
blockTimestampintegerNoBlock timestamp.
TickSizeChange:
FieldTypeRequiredDescription
event_typeenum stringYestick_size_change.
marketUUID stringYesMarket UUID.
old_tick_sizestringYesPrevious tick size.
new_tick_sizestringYesNew tick size.
timestampintegerYesEvent timestamp.
OrderSpeedBumpPending:
FieldTypeRequiredDescription
marketUUID stringYesMarket UUID used as the subscription key.
orderIdUUID stringNoDelayed order UUID when supplied by the producer.
additional fieldsobjectNoThe backend forwards any additional producer fields unchanged.

User Client Messages

EventPayload typeDescription
user-connectUserConnectPayloadAuthenticate and subscribe to the user channel.
user-disconnectempty objectUnsubscribe from the user channel.
initial-dataempty objectRequest initial collateral balances.
initial-shares-by-marketUUID stringRequest shares for a market and subscribe to share updates.
shares-by-market-disconnectempty objectStop share update subscriptions for the user proxy wallet.
UserConnectPayload:
FieldTypeRequiredDescription
authTradingApiKeyAuthYesAPI key WebSocket auth payload.
TradingApiKeyAuth:
FieldTypeRequiredDescription
apiKeystringYesAPI key identifier.
signaturestringYesHMAC-SHA256 signature.
timestampstringYesUnix timestamp in milliseconds.
passphrasestringYesAPI passphrase.

User Server Events

EventPayload typeDescription
user-authenticatedUserAuthenticatedAuthentication result.
app-errorAppErrorWebSocket error frame.
collateral-balanceBalanceUpdateProxy wallet collateral balance.
collateral-balance-eoaBalanceUpdateEOA collateral balance.
shares-by-market-updateMarketSharesUpdateShares update for a subscribed market.
user-positions-updateUserPositionUpdatePosition update.
user-orderUserOrderEvent[]Order update.
user-tradeTradeEvent[]Trade update.
user-mp-updateUserMpUpdateRewards accrual update.
user-mp-claim-updateUserMpClaimUpdateRewards claim dispatch update.
transactionTransactionUpdateTransaction status update.
UserAuthenticated:
FieldTypeRequiredDescription
successbooleanYesWhether authentication succeeded.
errorstringNoFailure reason.
BalanceUpdate:
FieldTypeRequiredDescription
valuestringYesToken balance.
MarketSharesUpdate:
FieldTypeRequiredDescription
marketIdUUID stringYesMarket UUID.
userSocketUserYesAuthenticated user object.
token1MarketShareTokenYesOutcome 1 token balance.
token2MarketShareTokenYesOutcome 2 token balance.
MarketShareToken:
FieldTypeRequiredDescription
idstringYesOutcome token ID.
balancestringYesToken balance.
SocketUser:
FieldTypeRequiredDescription
idUUID stringYesHit user ID.
evmAddressaddress stringYesUser EOA address.
emailstringNoUser email when available.
proxyWalletAddressaddress stringNoUser proxy wallet address.
proxyWalletSetupbooleanYesWhether proxy wallet setup is complete.
createdAtstring (date-time)YesUser creation timestamp.
updatedAtstring (date-time)YesLast user update timestamp.
noncestringYesUser auth nonce.
namestringYesDisplay name.
imageURLstringYesProfile image URL.
rolesobject[]NoUser roles.
UserPositionUpdate:
FieldTypeRequiredDescription
tokenIdstringYesOutcome token ID.
proxyAddressaddress stringYesUser proxy wallet address.
amountstringYesUpdated token amount.
acquisitionPricenumberYesAcquisition price.
timestampstring (date-time)YesUpdate timestamp.
UserOrderEvent:
FieldTypeRequiredDescription
event_typeenum stringYesorder.
asset_idstringYesOutcome token ID.
associate_tradesstring[] or nullYesAssociated trade IDs. Currently null.
idUUID stringYesOrder UUID.
marketUUID stringYesMarket UUID.
order_ownerUUID stringYesOrder owner user ID.
original_sizestringYesSubmitted order size.
outcomestringYesOutcome label.
ownerUUID stringYesOrder owner user ID.
pricestringYesOrder price.
sideenum stringYesbuy or sell.
size_matchedstringYesMatched size.
timestampstringYesOrder creation timestamp converted to Unix milliseconds string.
typeenum stringYesPLACEMENT, UPDATE, CANCELLATION, or REJECTION.
rejection_reasonstringNoPresent when type=REJECTION. Known values include no_fill_available, insufficient_balance, stale_nonce, and onchain_revert:{reason}.
TradeEvent:
FieldTypeRequiredDescription
event_typeenum stringYestrade.
asset_idstringYesOutcome token ID.
idUUID stringYesTrade UUID.
last_updatestringYesLast update timestamp converted to Unix milliseconds string.
maker_ordersTradeMakerOrder[]YesMaker orders that filled the trade.
marketUUID stringYesMarket UUID.
match_timestringYesMatch timestamp converted to Unix milliseconds string.
outcomestringYesOutcome label.
ownerUUID stringYesUser ID receiving this event.
pricestringYesFill price.
sideenum stringYesbuy or sell.
trader_sideenum stringYesMAKER or TAKER.
sizestringYesFilled size.
statusenum stringYesMATCHED, MINED, CONFIRMED, or FAILED.
taker_order_idUUID stringYesTaker order UUID.
timestampstringYesEmit timestamp converted to Unix milliseconds string.
trade_ownerUUID stringYesTaker owner user ID.
typeenum stringYesTRADE.
TradeMakerOrder:
FieldTypeRequiredDescription
asset_idstringYesOutcome token ID.
matched_amountstringYesAmount matched from this maker order.
order_idUUID stringYesMaker order UUID.
outcomestringYesOutcome label.
ownerUUID stringYesMaker owner user ID.
pricestringYesMaker fill price.
UserMpUpdate:
FieldTypeRequiredDescription
userIdUUID stringYesHit user ID.
marketIdUUID stringYesMarket UUID.
mpDeltastringYesMP accrued in the epoch.
epochDatestringYesReward epoch date.
projectedDailyUsdcstringNoProjected daily USDC value.
UserMpClaimUpdate:
FieldTypeRequiredDescription
userIdUUID stringYesHit user ID.
recipientAddressaddress stringNoClaim recipient address.
claimableMicroUsdcstringNoClaimable amount in micro-USDC.
rowCountintegerNoNumber of settlement rows included.
outcomeenum stringNodispatched or error. Missing values should be treated as dispatched.
reasonstringNoFailure reason, such as signer-missing, executor-failed, or task-error.
TransactionUpdate:
FieldTypeRequiredDescription
event_typeenum stringYestransaction.
txHashstringYesTransaction hash.
statusenum stringYessuccess or failed.
operationTypeenum stringNoproxy_wallet_create, proxy_wallet_setup, redeem_position, or multisend.
timestampintegerYesEmit timestamp in milliseconds.