Skip to main content
Every class is exported from @hot-labs/kit and, except StorageUnavailableError, from @hot-labs/kit/core, so check with instanceof.

Bounded waits

Every wait that follows a broadcast has a deadline. When it passes after the transaction or intent was already sent, the kit throws SubmittedStatusUnknownError instead of reporting a failure.
  • Intents#execute() waits for settlement up to Intents.PUBLISH_TIMEOUT_MS (10 min). A retry on the same builder resumes instead of signing again.
  • HotBridge.waitGaslessWithdraw resolves string | null: null means the withdrawal was published but the relayer’s transaction is not visible yet.
  • TonWallet.waitTransactionByMessageHash(pending, { timeoutMs }) and HotBridge.waitUntilBalance(intent, amount, account, { timeoutMs }) take the deadline as the last argument.
  • The HOT bridge publishIntents polls the intent status for HotBridge.intentStatusTimeoutMs (10 min).

Trust notes

  • Responses read from the HOT Wallet relay are not end-to-end authenticated: the kit trusts the relay to return what the HOT Wallet posted.
  • 1Click quotes are verified against the 1Click manager key before a deposit is sent.