# keepkey-vault-sdk

## Classes

### KeepKeySdk

Typed client for the KeepKey REST API.

The KeepKey desktop application exposes a local REST API on
`http://localhost:1646`. This SDK is a thin, typed wrapper around
that API — zero dependencies, native `fetch`, works in browser,
Node, Bun, and edge runtimes.

#### Example

```ts
import { KeepKeySdk } from 'keepkey-vault-sdk'

const sdk = await KeepKeySdk.create({
  serviceName: 'My App',
  serviceImageUrl: 'https://example.com/icon.png',
})

const { address } = await sdk.address.ethGetAddress({
  address_n: [0x8000002C, 0x8000003C, 0x80000000, 0, 0],
  show_display: true,
})
```

#### Properties

| Property | Type | Description |
| ------ | ------ | ------ |
| <a id="address"></a> `address` | \{ `bnbGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `cosmosGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `ethGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `mayachainGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `osmosisGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `solanaGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `tendermintGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `thorchainGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `tonGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `tronGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `utxoGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; `xrpGetAddress`: (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\>; \} | Derive receive addresses on the device. Every method takes a BIP32 derivation path (`address_n`) and returns the derived address. Pass `show_display: true` to have the device show the address on-screen so the user can visually verify it before use. |
| `address.bnbGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a BNB Beacon Chain address. |
| `address.cosmosGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a Cosmos Hub (ATOM) address. |
| `address.ethGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive an Ethereum (or EVM-compatible) address. |
| `address.mayachainGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a MAYAChain (CACAO) address. |
| `address.osmosisGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive an Osmosis (OSMO) address. |
| `address.solanaGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a Solana (SOL) address. |
| `address.tendermintGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a generic Tendermint-based address. |
| `address.thorchainGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a THORChain (RUNE) address. |
| `address.tonGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a TON address. |
| `address.tronGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a TRON (TRX) address. |
| `address.utxoGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive a UTXO (BTC/LTC/BCH/DOGE/DASH) address. |
| `address.xrpGetAddress` | (`params`: [`AddressRequest`](#addressrequest)) => `Promise`\<\{ `address`: `string`; \}\> | Derive an XRP (Ripple) address. |
| <a id="binance"></a> `binance` | \{ `binanceSignTransaction`: (`params`: [`BnbSignTxParams`](#bnbsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | BNB Beacon Chain signing. |
| `binance.binanceSignTransaction` | (`params`: [`BnbSignTxParams`](#bnbsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a BNB Beacon Chain transaction. |
| <a id="btc"></a> `btc` | \{ `btcSignTransaction`: (`params`: [`BtcSignTxParams`](#btcsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | Bitcoin and UTXO chain signing. |
| `btc.btcSignTransaction` | (`params`: [`BtcSignTxParams`](#btcsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a UTXO transaction (BTC, LTC, BCH, DOGE, DASH, etc.). |
| <a id="chain"></a> `chain` | \{ `broadcast`: (`params`: [`BroadcastParams`](#broadcastparams)) => `Promise`\<`any`\>; `getAvailableAssets`: () => `Promise`\<`any`\>; `getBalance`: (`params`: [`NetworkAddressParams`](#networkaddressparams)) => `Promise`\<`any`\>; `getFeeRate`: (`params`: [`NetworkIdParams`](#networkidparams)) => `Promise`\<`any`\>; `getGasPrice`: (`params`: [`NetworkIdParams`](#networkidparams)) => `Promise`\<`any`\>; `getInboundAddresses`: () => `Promise`\<`any`\>; `getMarketInfo`: (`params`: [`MarketInfoParams`](#marketinfoparams)) => `Promise`\<`any`\>; `getNonce`: (`params`: [`NetworkAddressParams`](#networkaddressparams)) => `Promise`\<`any`\>; `getPortfolioBalances`: (`params`: [`PortfolioBalancesParams`](#portfoliobalancesparams)) => `Promise`\<`any`\>; `getPubkeyInfo`: (`params`: [`PubkeyInfoParams`](#pubkeyinfoparams)) => `Promise`\<`any`\>; `getStakingPositions`: (`params`: [`StakingParams`](#stakingparams)) => `Promise`\<`any`\>; `getSwapQuote`: (`params`: [`SwapQuoteParams`](#swapquoteparams)) => `Promise`\<`any`\>; `getTokenDecimals`: (`params`: [`TokenDecimalsParams`](#tokendecimalsparams)) => `Promise`\<`any`\>; `getTransactionHistory`: (`params`: [`TxHistoryParams`](#txhistoryparams)) => `Promise`\<`any`\>; `listUnspent`: (`params`: [`ListUnspentParams`](#listunspentparams)) => `Promise`\<`any`\>; `searchAssets`: (`params`: [`SearchAssetsParams`](#searchassetsparams)) => `Promise`\<`any`\>; \} | Chain data queries: portfolio balances, market prices, UTXOs, transaction history, fee estimation, and swap quotes. Pulls data from upstream indexers — does not require the device to be connected. |
| `chain.broadcast` | (`params`: [`BroadcastParams`](#broadcastparams)) => `Promise`\<`any`\> | Broadcast a signed transaction to the network. |
| `chain.getAvailableAssets` | () => `Promise`\<`any`\> | List all assets the chain indexer knows about. |
| `chain.getBalance` | (`params`: [`NetworkAddressParams`](#networkaddressparams)) => `Promise`\<`any`\> | Get the native asset balance for an address. |
| `chain.getFeeRate` | (`params`: [`NetworkIdParams`](#networkidparams)) => `Promise`\<`any`\> | Get the current recommended fee rate for a UTXO network. |
| `chain.getGasPrice` | (`params`: [`NetworkIdParams`](#networkidparams)) => `Promise`\<`any`\> | Get the current gas price for an EVM network. |
| `chain.getInboundAddresses` | () => `Promise`\<`any`\> | Get THORChain/Mayachain inbound addresses (for swap deposits). |
| `chain.getMarketInfo` | (`params`: [`MarketInfoParams`](#marketinfoparams)) => `Promise`\<`any`\> | Get market info (price, market cap) for the supplied CAIPs. |
| `chain.getNonce` | (`params`: [`NetworkAddressParams`](#networkaddressparams)) => `Promise`\<`any`\> | Get the nonce (tx count) for an EVM address. |
| `chain.getPortfolioBalances` | (`params`: [`PortfolioBalancesParams`](#portfoliobalancesparams)) => `Promise`\<`any`\> | Get portfolio balances across the supplied pubkeys. |
| `chain.getPubkeyInfo` | (`params`: [`PubkeyInfoParams`](#pubkeyinfoparams)) => `Promise`\<`any`\> | Get pubkey info (balance, tx count) for a UTXO xpub. |
| `chain.getStakingPositions` | (`params`: [`StakingParams`](#stakingparams)) => `Promise`\<`any`\> | Get staking positions for an address. |
| `chain.getSwapQuote` | (`params`: [`SwapQuoteParams`](#swapquoteparams)) => `Promise`\<`any`\> | Get a swap quote from the integrated aggregator. |
| `chain.getTokenDecimals` | (`params`: [`TokenDecimalsParams`](#tokendecimalsparams)) => `Promise`\<`any`\> | Get the decimals for an ERC-20 / token contract. |
| `chain.getTransactionHistory` | (`params`: [`TxHistoryParams`](#txhistoryparams)) => `Promise`\<`any`\> | Get transaction history for one or more pubkeys. |
| `chain.listUnspent` | (`params`: [`ListUnspentParams`](#listunspentparams)) => `Promise`\<`any`\> | List unspent outputs for a UTXO xpub. |
| `chain.searchAssets` | (`params`: [`SearchAssetsParams`](#searchassetsparams)) => `Promise`\<`any`\> | Search assets by symbol or name. |
| <a id="cosmos"></a> `cosmos` | \{ `cosmosSignAmino`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `cosmosSignAminoDelegate`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `cosmosSignAminoIbcTransfer`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `cosmosSignAminoRedelegate`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `cosmosSignAminoUndelegate`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `cosmosSignAminoWithdrawRewards`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | Cosmos Hub amino signing (transfer, staking, IBC). |
| `cosmos.cosmosSignAmino` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a generic Cosmos amino message. |
| `cosmos.cosmosSignAminoDelegate` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a Cosmos `MsgDelegate`. |
| `cosmos.cosmosSignAminoIbcTransfer` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a Cosmos IBC `MsgTransfer`. |
| `cosmos.cosmosSignAminoRedelegate` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a Cosmos `MsgBeginRedelegate`. |
| `cosmos.cosmosSignAminoUndelegate` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a Cosmos `MsgUndelegate`. |
| `cosmos.cosmosSignAminoWithdrawRewards` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a Cosmos `MsgWithdrawDelegatorReward` for all delegations. |
| <a id="devicestatus"></a> `deviceStatus` | \{ `isDeviceConnected`: () => `Promise`\<`boolean`\>; \} | Quick device connection status. |
| `deviceStatus.isDeviceConnected` | () => `Promise`\<`boolean`\> | Returns `true` if a KeepKey device is currently connected and responsive. |
| <a id="eth"></a> `eth` | \{ `ethSignMessage`: (`params`: [`EthSignMessageParams`](#ethsignmessageparams)) => `Promise`\<`any`\>; `ethSignTransaction`: (`params`: [`EthSignTxParams`](#ethsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `ethSignTypedData`: (`params`: [`EthSignTypedDataParams`](#ethsigntypeddataparams)) => `Promise`\<`any`\>; `ethVerifyMessage`: (`params`: [`EthVerifyMessageParams`](#ethverifymessageparams)) => `Promise`\<`boolean`\>; \} | Ethereum and EVM-compatible signing (sign-tx, sign-message, EIP-712). |
| `eth.ethSignMessage` | (`params`: [`EthSignMessageParams`](#ethsignmessageparams)) => `Promise`\<`any`\> | Sign a personal message (`eth_sign` / `personal_sign`). |
| `eth.ethSignTransaction` | (`params`: [`EthSignTxParams`](#ethsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Ethereum or EVM transaction. Supports legacy and EIP-1559. |
| `eth.ethSignTypedData` | (`params`: [`EthSignTypedDataParams`](#ethsigntypeddataparams)) => `Promise`\<`any`\> | Sign an EIP-712 typed data structure. |
| `eth.ethVerifyMessage` | (`params`: [`EthVerifyMessageParams`](#ethverifymessageparams)) => `Promise`\<`boolean`\> | Verify an Ethereum personal message signature. Returns `true` if valid. |
| <a id="mayachain"></a> `mayachain` | \{ `mayachainSignAminoDeposit`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `mayachainSignAminoTransfer`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | MAYAChain signing (CACAO transfers and deposits). |
| `mayachain.mayachainSignAminoDeposit` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a MAYAChain `MsgDeposit` (used for swaps). |
| `mayachain.mayachainSignAminoTransfer` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a MAYAChain `MsgSend` transfer. |
| <a id="osmosis"></a> `osmosis` | \{ `osmosisSignAmino`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `osmosisSignAminoDelegate`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `osmosisSignAminoIbcTransfer`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `osmosisSignAminoLpAdd`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `osmosisSignAminoLpRemove`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `osmosisSignAminoRedelegate`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `osmosisSignAminoSwap`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `osmosisSignAminoUndelegate`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `osmosisSignAminoWithdrawRewards`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | Osmosis amino signing — transfer, staking, IBC, LP, swap. |
| `osmosis.osmosisSignAmino` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a generic Osmosis amino message. |
| `osmosis.osmosisSignAminoDelegate` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Osmosis `MsgDelegate`. |
| `osmosis.osmosisSignAminoIbcTransfer` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Osmosis IBC `MsgTransfer`. |
| `osmosis.osmosisSignAminoLpAdd` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Osmosis `MsgJoinPool` (add liquidity). |
| `osmosis.osmosisSignAminoLpRemove` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Osmosis `MsgExitPool` (remove liquidity). |
| `osmosis.osmosisSignAminoRedelegate` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Osmosis `MsgBeginRedelegate`. |
| `osmosis.osmosisSignAminoSwap` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Osmosis `MsgSwapExactAmountIn` (swap). |
| `osmosis.osmosisSignAminoUndelegate` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Osmosis `MsgUndelegate`. |
| `osmosis.osmosisSignAminoWithdrawRewards` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an Osmosis `MsgWithdrawDelegatorReward` for all delegations. |
| <a id="ripple"></a> `ripple` | \{ `xrpSignTransaction`: (`params`: [`XrpSignTxParams`](#xrpsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | XRP (Ripple) signing. |
| `ripple.xrpSignTransaction` | (`params`: [`XrpSignTxParams`](#xrpsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign an XRP payment transaction. |
| <a id="solana"></a> `solana` | \{ `solanaSignTransaction`: (`params`: [`SolanaSignTxParams`](#solanasigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | Solana signing (supports SPL tokens). |
| `solana.solanaSignTransaction` | (`params`: [`SolanaSignTxParams`](#solanasigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a Solana transaction. `raw_tx` must be the base64-encoded serialized transaction. |
| <a id="sweep"></a> `sweep` | \{ `execute`: (`params`: [`SweepExecuteParams`](#sweepexecuteparams)) => `Promise`\<[`SweepExecuteResult`](#sweepexecuteresult)\>; `getScanStatus`: (`scanId`: `string`) => `Promise`\<[`SweepScanStatus`](#sweepscanstatus)\>; `startScan`: (`params?`: [`SweepScanParams`](#sweepscanparams)) => `Promise`\<\{ `scanId`: `string`; \}\>; \} | Async sweep tool for recovering BTC from non-standard derivation paths (e.g. mistakes from other wallets). Workflow: `startScan` → poll `getScanStatus` → `execute` with a destination. |
| `sweep.execute` | (`params`: [`SweepExecuteParams`](#sweepexecuteparams)) => `Promise`\<[`SweepExecuteResult`](#sweepexecuteresult)\> | Execute a sweep: build the tx, sign on device, broadcast. |
| `sweep.getScanStatus` | (`scanId`: `string`) => `Promise`\<[`SweepScanStatus`](#sweepscanstatus)\> | Poll scan progress and results. |
| `sweep.startScan` | (`params?`: [`SweepScanParams`](#sweepscanparams)) => `Promise`\<\{ `scanId`: `string`; \}\> | Start an async scan for funds on non-standard BTC paths. Returns a `scanId` to poll. |
| <a id="system"></a> `system` | \{ `device`: \{ `applyPolicies`: (`params`: `any`) => `Promise`\<\{ `success`: `boolean`; \}\>; `applySettings`: (`params`: [`ApplySettingsParams`](#applysettingsparams)) => `Promise`\<\{ `success`: `boolean`; \}\>; `changePin`: (`remove?`: `boolean`) => `Promise`\<\{ `success`: `boolean`; \}\>; `clearSession`: () => `Promise`\<\{ `success`: `boolean`; \}\>; `loadDevice`: (`params`: `any`) => `Promise`\<\{ `success`: `boolean`; \}\>; `ping`: () => `Promise`\<\{ `message`: `string`; \}\>; `recoverDevice`: (`params`: \{ `label?`: `string`; `passphrase_protection?`: `boolean`; `pin_protection?`: `boolean`; `word_count?`: `number`; \}) => `Promise`\<\{ `success`: `boolean`; \}\>; `resetDevice`: (`params`: \{ `label?`: `string`; `passphrase_protection?`: `boolean`; `pin_protection?`: `boolean`; `word_count?`: `number`; \}) => `Promise`\<\{ `success`: `boolean`; \}\>; `sendPin`: (`pin`: `string`) => `Promise`\<\{ `success`: `boolean`; \}\>; `wipe`: () => `Promise`\<\{ `success`: `boolean`; \}\>; \}; `info`: \{ `getDevices`: () => `Promise`\<\{ `devices`: [`DeviceInfo`](#deviceinfo)[]; `total`: `number`; \}\>; `getFeatures`: () => `Promise`\<[`DeviceFeatures`](#devicefeatures)\>; `getHealth`: () => `Promise`\<[`HealthResponse`](#healthresponse)\>; `getPublicKey`: (`params`: [`GetPublicKeyRequest`](#getpublickeyrequest)) => `Promise`\<\{ `xpub`: `string`; \}\>; `getSupportedAssets`: () => `Promise`\<\{ `assets`: [`SupportedAsset`](#supportedasset)[]; \}\>; `listCoins`: () => `Promise`\<`any`[]\>; \}; \} | Device information, health, and initialization. |
| `system.device` | \{ `applyPolicies`: (`params`: `any`) => `Promise`\<\{ `success`: `boolean`; \}\>; `applySettings`: (`params`: [`ApplySettingsParams`](#applysettingsparams)) => `Promise`\<\{ `success`: `boolean`; \}\>; `changePin`: (`remove?`: `boolean`) => `Promise`\<\{ `success`: `boolean`; \}\>; `clearSession`: () => `Promise`\<\{ `success`: `boolean`; \}\>; `loadDevice`: (`params`: `any`) => `Promise`\<\{ `success`: `boolean`; \}\>; `ping`: () => `Promise`\<\{ `message`: `string`; \}\>; `recoverDevice`: (`params`: \{ `label?`: `string`; `passphrase_protection?`: `boolean`; `pin_protection?`: `boolean`; `word_count?`: `number`; \}) => `Promise`\<\{ `success`: `boolean`; \}\>; `resetDevice`: (`params`: \{ `label?`: `string`; `passphrase_protection?`: `boolean`; `pin_protection?`: `boolean`; `word_count?`: `number`; \}) => `Promise`\<\{ `success`: `boolean`; \}\>; `sendPin`: (`pin`: `string`) => `Promise`\<\{ `success`: `boolean`; \}\>; `wipe`: () => `Promise`\<\{ `success`: `boolean`; \}\>; \} | Device management — PIN, recovery, settings, firmware. |
| `system.device.applyPolicies` | (`params`: `any`) => `Promise`\<\{ `success`: `boolean`; \}\> | Apply device policy changes. |
| `system.device.applySettings` | (`params`: [`ApplySettingsParams`](#applysettingsparams)) => `Promise`\<\{ `success`: `boolean`; \}\> | Change device label, passphrase protection, or auto-lock delay. |
| `system.device.changePin` | (`remove?`: `boolean`) => `Promise`\<\{ `success`: `boolean`; \}\> | Start a PIN change flow. Pass `remove: true` to remove the PIN. |
| `system.device.clearSession` | () => `Promise`\<\{ `success`: `boolean`; \}\> | Clear the device session (forces PIN re-entry for the next sensitive call). |
| `system.device.loadDevice` | (`params`: `any`) => `Promise`\<\{ `success`: `boolean`; \}\> | Load a device with a specific seed (testing only). |
| `system.device.ping` | () => `Promise`\<\{ `message`: `string`; \}\> | Ping the device. Useful for connection checks. |
| `system.device.recoverDevice` | (`params`: \{ `label?`: `string`; `passphrase_protection?`: `boolean`; `pin_protection?`: `boolean`; `word_count?`: `number`; \}) => `Promise`\<\{ `success`: `boolean`; \}\> | Recover an existing device from a seed phrase. Requires user input on device. |
| `system.device.resetDevice` | (`params`: \{ `label?`: `string`; `passphrase_protection?`: `boolean`; `pin_protection?`: `boolean`; `word_count?`: `number`; \}) => `Promise`\<\{ `success`: `boolean`; \}\> | Initialize a new device with a fresh seed. Requires user confirmation. |
| `system.device.sendPin` | (`pin`: `string`) => `Promise`\<\{ `success`: `boolean`; \}\> | Send a PIN entered via matrix input during a recovery flow. |
| `system.device.wipe` | () => `Promise`\<\{ `success`: `boolean`; \}\> | Wipe all secrets from the device. Requires user confirmation on device. |
| `system.info` | \{ `getDevices`: () => `Promise`\<\{ `devices`: [`DeviceInfo`](#deviceinfo)[]; `total`: `number`; \}\>; `getFeatures`: () => `Promise`\<[`DeviceFeatures`](#devicefeatures)\>; `getHealth`: () => `Promise`\<[`HealthResponse`](#healthresponse)\>; `getPublicKey`: (`params`: [`GetPublicKeyRequest`](#getpublickeyrequest)) => `Promise`\<\{ `xpub`: `string`; \}\>; `getSupportedAssets`: () => `Promise`\<\{ `assets`: [`SupportedAsset`](#supportedasset)[]; \}\>; `listCoins`: () => `Promise`\<`any`[]\>; \} | Read-only device info and health endpoints. |
| `system.info.getDevices` | () => `Promise`\<\{ `devices`: [`DeviceInfo`](#deviceinfo)[]; `total`: `number`; \}\> | List all connected KeepKey devices. |
| `system.info.getFeatures` | () => `Promise`\<[`DeviceFeatures`](#devicefeatures)\> | Get full device features — model, firmware version, PIN/passphrase state, policies. |
| `system.info.getHealth` | () => `Promise`\<[`HealthResponse`](#healthresponse)\> | Check REST API health and device connection state. Does not require auth. |
| `system.info.getPublicKey` | (`params`: [`GetPublicKeyRequest`](#getpublickeyrequest)) => `Promise`\<\{ `xpub`: `string`; \}\> | Derive an extended public key (xpub) at the given BIP32 path. |
| `system.info.getSupportedAssets` | () => `Promise`\<\{ `assets`: [`SupportedAsset`](#supportedasset)[]; \}\> | List assets supported by the connected device. |
| `system.info.listCoins` | () => `Promise`\<`any`[]\> | List all coins the firmware knows about. |
| <a id="thorchain"></a> `thorchain` | \{ `thorchainSignAminoDeposit`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; `thorchainSignAminoTransfer`: (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | THORChain signing (RUNE transfers and deposits for swaps). |
| `thorchain.thorchainSignAminoDeposit` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a THORChain `MsgDeposit` (used for swaps and loans). |
| `thorchain.thorchainSignAminoTransfer` | (`params`: [`CosmosAminoSignParams`](#cosmosaminosignparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a THORChain `MsgSend` transfer. |
| <a id="ton"></a> `ton` | \{ `tonSignTransaction`: (`params`: [`TonSignTxParams`](#tonsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | TON signing (supports Jettons). |
| `ton.tonSignTransaction` | (`params`: [`TonSignTxParams`](#tonsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a TON transaction. `raw_tx` must be the base64- or hex-encoded raw transaction. |
| <a id="tron"></a> `tron` | \{ `tronSignTransaction`: (`params`: [`TronSignTxParams`](#tronsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\>; \} | TRON (TRX) signing, including TRC-20 tokens. |
| `tron.tronSignTransaction` | (`params`: [`TronSignTxParams`](#tronsigntxparams)) => `Promise`\<[`SignedTx`](#signedtx)\> | Sign a TRON transaction. `amount` is in sun (1 TRX = 1,000,000 sun). |
| <a id="xpub"></a> `xpub` | \{ `getPublicKey`: (`params`: [`GetPublicKeyRequest`](#getpublickeyrequest)) => `Promise`\<\{ `xpub`: `string`; \}\>; `getPublicKeys`: (`paths`: [`BatchPubkeysPath`](#batchpubkeyspath)[]) => `Promise`\<\{ `cached_count`: `number`; `pubkeys`: `any`[]; `total_requested`: `number`; \}\>; \} | Extended public key (xpub) derivation — single and batch. |
| `xpub.getPublicKey` | (`params`: [`GetPublicKeyRequest`](#getpublickeyrequest)) => `Promise`\<\{ `xpub`: `string`; \}\> | Derive a single xpub at the given BIP32 path. |
| `xpub.getPublicKeys` | (`paths`: [`BatchPubkeysPath`](#batchpubkeyspath)[]) => `Promise`\<\{ `cached_count`: `number`; `pubkeys`: `any`[]; `total_requested`: `number`; \}\> | Derive many xpubs in a single request. The server caches results, so subsequent calls for the same path are fast. |

#### Accessors

##### apiKey

###### Get Signature

```ts
get apiKey(): string;
```

The current API key, or `null` if not yet paired.

###### Returns

`string`

#### Methods

##### getClient()

```ts
getClient(): VaultClient;
```

Access the underlying HTTP client for advanced use cases
(custom endpoints, raw requests).

###### Returns

`VaultClient`

##### create()

```ts
static create(config?: SdkConfig): Promise<KeepKeySdk>;
```

Create a connected `KeepKeySdk` instance.

Verifies the local REST API is reachable, then either validates
the supplied `apiKey` or initiates a new pairing (which requires
the user to approve on the device).

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `config?` | [`SdkConfig`](#sdkconfig) | Optional configuration. If `apiKey` is omitted, the SDK will auto-pair, which shows an approval prompt in the KeepKey app. |

###### Returns

`Promise`\<[`KeepKeySdk`](#keepkeysdk)\>

A connected `KeepKeySdk` ready to make API calls.

###### Throws

[SdkError](#sdkerror) if the REST API is not reachable or pairing fails.

***

### SdkError

SDK-specific error with HTTP status

#### Extends

- `Error`

#### Constructors

##### Constructor

```ts
new SdkError(status: number, message: string): SdkError;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `status` | `number` |
| `message` | `string` |

###### Returns

[`SdkError`](#sdkerror)

###### Overrides

```ts
Error.constructor
```

#### Properties

| Property | Modifier | Type | Description | Inherited from |
| ------ | ------ | ------ | ------ | ------ |
| <a id="message"></a> `message` | `public` | `string` | - | `Error.message` |
| <a id="name"></a> `name` | `public` | `string` | - | `Error.name` |
| <a id="stack"></a> `stack?` | `public` | `string` | - | `Error.stack` |
| <a id="status"></a> `status` | `public` | `number` | - | - |
| <a id="stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` |

#### Methods

##### captureStackTrace()

```ts
static captureStackTrace(targetObject: object, constructorOpt?: Function): void;
```

Creates a `.stack` property on `targetObject`, which when accessed returns
a string representing the location in the code at which
`Error.captureStackTrace()` was called.

```js
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
```

The first line of the trace will be prefixed with
`${myObject.name}: ${myObject.message}`.

The optional `constructorOpt` argument accepts a function. If given, all frames
above `constructorOpt`, including `constructorOpt`, will be omitted from the
generated stack trace.

The `constructorOpt` argument is useful for hiding implementation
details of error generation from the user. For instance:

```js
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `targetObject` | `object` |
| `constructorOpt?` | `Function` |

###### Returns

`void`

###### Inherited from

```ts
Error.captureStackTrace
```

##### prepareStackTrace()

```ts
static prepareStackTrace(err: Error, stackTraces: CallSite[]): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `err` | `Error` |
| `stackTraces` | `CallSite`[] |

###### Returns

`any`

###### See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

###### Inherited from

```ts
Error.prepareStackTrace
```

## Interfaces

### AddressRequest

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address_n"></a> `address_n` | `number`[] |
| <a id="coin"></a> `coin?` | `string` |
| <a id="script_type"></a> `script_type?` | `string` |
| <a id="show_display"></a> `show_display?` | `boolean` |

***

### AddressResult

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address-1"></a> `address` | `string` |

***

### ApplySettingsParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="autolock_delay_ms"></a> `autolock_delay_ms?` | `number` |
| <a id="label"></a> `label?` | `string` |
| <a id="use_passphrase"></a> `use_passphrase?` | `boolean` |

***

### BatchPubkeysPath

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address_n-1"></a> `address_n` | `number`[] |
| <a id="coin-1"></a> `coin?` | `string` |
| <a id="networks"></a> `networks?` | `string`[] |
| <a id="note"></a> `note?` | `string` |
| <a id="script_type-1"></a> `script_type?` | `string` |
| <a id="type"></a> `type?` | `"xpub"` \| `"address"` |

***

### BnbSignTxParams

#### Indexable

```ts
[key: string]: any
```

***

### BroadcastParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="networkid"></a> `networkId` | `string` |
| <a id="serialized"></a> `serialized` | `string` |

***

### BtcSignTxParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="coin-2"></a> `coin?` | `string` |
| <a id="inputs"></a> `inputs` | `any`[] |
| <a id="locktime"></a> `locktime?` | `number` |
| <a id="outputs"></a> `outputs` | `any`[] |
| <a id="version"></a> `version?` | `number` |

***

### CosmosAminoSignParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="signdoc"></a> `signDoc` | `any` |
| <a id="signeraddress"></a> `signerAddress` | `string` |

***

### DeviceFeatures

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="auto_lock_delay_ms"></a> `auto_lock_delay_ms` | `number` |
| <a id="bootloader_hash"></a> `bootloader_hash` | `string` |
| <a id="bootloader_mode"></a> `bootloader_mode` | `boolean` |
| <a id="device_id"></a> `device_id` | `string` |
| <a id="firmware_hash"></a> `firmware_hash` | `string` |
| <a id="firmware_variant"></a> `firmware_variant` | `string` |
| <a id="imported"></a> `imported` | `boolean` |
| <a id="initialized"></a> `initialized` | `boolean` |
| <a id="label-1"></a> `label` | `string` |
| <a id="language"></a> `language` | `string` |
| <a id="major_version"></a> `major_version` | `number` |
| <a id="minor_version"></a> `minor_version` | `number` |
| <a id="model"></a> `model` | `string` |
| <a id="no_backup"></a> `no_backup` | `boolean` |
| <a id="passphrase_cached"></a> `passphrase_cached` | `boolean` |
| <a id="passphrase_protection"></a> `passphrase_protection` | `boolean` |
| <a id="patch_version"></a> `patch_version` | `number` |
| <a id="pin_cached"></a> `pin_cached` | `boolean` |
| <a id="pin_protection"></a> `pin_protection` | `boolean` |
| <a id="policies"></a> `policies` | \{ `enabled`: `boolean`; `policy_name`: `string`; \}[] |
| <a id="revision"></a> `revision` | `string` |
| <a id="vendor"></a> `vendor` | `string` |
| <a id="wipe_code_protection"></a> `wipe_code_protection` | `boolean` |

***

### DeviceInfo

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="device_id-1"></a> `device_id?` | `string` |
| <a id="features"></a> `features?` | `Partial`\<[`DeviceFeatures`](#devicefeatures)\> |
| <a id="is_active"></a> `is_active?` | `boolean` |
| <a id="name-1"></a> `name?` | `string` |
| <a id="state"></a> `state` | `string` |

***

### EthSignMessageParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address-2"></a> `address` | `string` |
| <a id="message-1"></a> `message` | `string` |

***

### EthSignTxParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address_n_list"></a> `address_n_list?` | `number`[] |
| <a id="addressnlist"></a> `addressNList?` | `number`[] |
| <a id="chainid"></a> `chainId?` | `number` |
| <a id="data"></a> `data?` | `string` |
| <a id="from"></a> `from?` | `string` |
| <a id="gas"></a> `gas?` | `string` |
| <a id="gaslimit"></a> `gasLimit?` | `string` |
| <a id="gasprice"></a> `gasPrice?` | `string` |
| <a id="maxfeepergas"></a> `maxFeePerGas?` | `string` |
| <a id="maxpriorityfeepergas"></a> `maxPriorityFeePerGas?` | `string` |
| <a id="nonce"></a> `nonce?` | `string` |
| <a id="to"></a> `to` | `string` |
| <a id="value"></a> `value` | `string` |

***

### EthSignTypedDataParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address-3"></a> `address` | `string` |
| <a id="typeddata"></a> `typedData` | `any` |

***

### EthVerifyMessageParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address-4"></a> `address` | `string` |
| <a id="message-2"></a> `message` | `string` |
| <a id="signature"></a> `signature` | `string` |

***

### GetPublicKeyRequest

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address_n-2"></a> `address_n` | `number`[] |
| <a id="coin_name"></a> `coin_name?` | `string` |
| <a id="ecdsa_curve_name"></a> `ecdsa_curve_name?` | `string` |
| <a id="script_type-2"></a> `script_type?` | `string` |
| <a id="show_display-1"></a> `show_display?` | `boolean` |

***

### HealthResponse

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="apiversion"></a> `apiVersion` | `number` |
| <a id="cached_pubkeys"></a> `cached_pubkeys` | `number` |
| <a id="connected"></a> `connected` | `boolean` |
| <a id="device_connected"></a> `device_connected` | `boolean` |
| <a id="ready"></a> `ready` | `boolean` |
| <a id="status-1"></a> `status` | `string` |
| <a id="uptime"></a> `uptime` | `number` |
| <a id="version-1"></a> `version` | `string` |

***

### ListUnspentParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="network"></a> `network` | `string` |
| <a id="xpub-1"></a> `xpub` | `string` |

***

### MarketInfoParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="caips"></a> `caips` | `string`[] |

***

### NetworkAddressParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address-5"></a> `address` | `string` |
| <a id="networkid-1"></a> `networkId` | `string` |

***

### NetworkIdParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="networkid-2"></a> `networkId` | `string` |

***

### PairResponse

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="apikey-1"></a> `apiKey` | `string` |

***

### PortfolioBalancesParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="pubkeys"></a> `pubkeys` | [`PubkeyEntry`](#pubkeyentry)[] |

***

### PubkeyEntry

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="caip"></a> `caip` | `string` |
| <a id="pubkey"></a> `pubkey` | `string` |

***

### PubkeyInfoParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="network-1"></a> `network` | `string` |
| <a id="xpub-2"></a> `xpub` | `string` |

***

### SdkConfig

#### Properties

| Property | Type | Description |
| ------ | ------ | ------ |
| <a id="apikey-2"></a> `apiKey?` | `string` | Existing API key (from previous pairing). If omitted, SDK will auto-pair. |
| <a id="basepath"></a> `basePath?` | `string` | Alias for baseUrl (v1 SDK compat) |
| <a id="baseurl"></a> `baseUrl?` | `string` | Vault REST API base URL. Default: http://localhost:1646 |
| <a id="pairinginfo"></a> `pairingInfo?` | \{ `basePath?`: `string`; `imageUrl?`: `string`; `name?`: `string`; `url?`: `string`; \} | v1 SDK compat — pairing info object |
| `pairingInfo.basePath?` | `string` | - |
| `pairingInfo.imageUrl?` | `string` | - |
| `pairingInfo.name?` | `string` | - |
| `pairingInfo.url?` | `string` | - |
| <a id="serviceimageurl"></a> `serviceImageUrl?` | `string` | Image URL shown in pairing approval dialog |
| <a id="servicekey"></a> `serviceKey?` | `string` | Service key (unused, kept for Pioneer SDK compat) |
| <a id="servicename"></a> `serviceName?` | `string` | Name shown in pairing approval dialog |

***

### SearchAssetsParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="limit"></a> `limit?` | `number` |
| <a id="q"></a> `q` | `string` |

***

### SignedTx

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="r"></a> `r?` | `string` |
| <a id="s"></a> `s?` | `string` |
| <a id="serialized-1"></a> `serialized?` | `string` |
| <a id="serializedtx"></a> `serializedTx?` | `string` |
| <a id="signature-1"></a> `signature?` | `string` |
| <a id="v"></a> `v?` | `number` |

***

### SolanaSignTxParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address_n-3"></a> `address_n?` | `number`[] |
| <a id="addressnlist-1"></a> `addressNList?` | `number`[] |
| <a id="raw_tx"></a> `raw_tx` | `string` |

***

### StakingParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address-6"></a> `address` | `string` |
| <a id="network-2"></a> `network` | `string` |

***

### SupportedAsset

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="caip-1"></a> `caip` | `string` |
| <a id="chain-1"></a> `chain` | `string` |
| <a id="chainfamily"></a> `chainFamily` | `string` |
| <a id="coin-3"></a> `coin` | `string` |
| <a id="networkid-3"></a> `networkId` | `string` |
| <a id="symbol"></a> `symbol` | `string` |

***

### SwapQuoteParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="buyasset"></a> `buyAsset` | `string` |
| <a id="recipientaddress"></a> `recipientAddress` | `string` |
| <a id="sellamount"></a> `sellAmount` | `string` |
| <a id="sellasset"></a> `sellAsset` | `string` |
| <a id="senderaddress"></a> `senderAddress` | `string` |
| <a id="slippage"></a> `slippage?` | `number` |

***

### SweepExecuteParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="destinationaddress"></a> `destinationAddress?` | `string` |
| <a id="dryrun"></a> `dryRun?` | `boolean` |
| <a id="scanid"></a> `scanId` | `string` |

***

### SweepExecuteResult

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="destination"></a> `destination` | `string` |
| <a id="dryrun-1"></a> `dryRun?` | `boolean` |
| <a id="fee"></a> `fee` | `number` |
| <a id="inputcount"></a> `inputCount` | `number` |
| <a id="outputsats"></a> `outputSats` | `number` |
| <a id="totalsweptsats"></a> `totalSweptSats` | `number` |
| <a id="txid"></a> `txid?` | `string` |
| <a id="unsignedtx"></a> `unsignedTx?` | `any` |

***

### SweepResult

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="accountindex"></a> `accountIndex?` | `number` |
| <a id="address-7"></a> `address` | `string` |
| <a id="balancesats"></a> `balanceSats` | `number` |
| <a id="category"></a> `category` | `"account-key"` \| `"mismatch"` \| `"higher-account"` |
| <a id="path"></a> `path` | `string` |
| <a id="scripttype"></a> `scriptType` | `string` |
| <a id="utxocount"></a> `utxoCount` | `number` |

***

### SweepScanParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="accountrange"></a> `accountRange?` | \[`number`, `number`\] |
| <a id="currentmaxaccount"></a> `currentMaxAccount?` | `number` |
| <a id="higheraccountscanlimit"></a> `higherAccountScanLimit?` | `number` |
| <a id="mismatchaccounts"></a> `mismatchAccounts?` | `number` |

***

### SweepScanStatus

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="completedat"></a> `completedAt?` | `number` |
| <a id="error"></a> `error?` | `string` |
| <a id="id"></a> `id` | `string` |
| <a id="progress"></a> `progress` | \{ `current`: `number`; `phase`: `string`; `total`: `number`; \} |
| `progress.current` | `number` |
| `progress.phase` | `string` |
| `progress.total` | `number` |
| <a id="results"></a> `results` | [`SweepResult`](#sweepresult)[] |
| <a id="startedat"></a> `startedAt` | `number` |
| <a id="status-2"></a> `status` | `"scanning"` \| `"complete"` \| `"error"` |
| <a id="totalfoundsats"></a> `totalFoundSats` | `number` |

***

### TokenDecimalsParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="contractaddress"></a> `contractAddress` | `string` |
| <a id="networkid-4"></a> `networkId` | `string` |

***

### TonSignTxParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="address_n-4"></a> `address_n?` | `number`[] |
| <a id="addressnlist-2"></a> `addressNList?` | `number`[] |
| <a id="raw_tx-1"></a> `raw_tx` | `string` |

***

### TronSignTxParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="addressnlist-3"></a> `addressNList` | `number`[] |
| <a id="amount"></a> `amount` | `number` |
| <a id="from-1"></a> `from` | `string` |
| <a id="memo"></a> `memo?` | `string` |
| <a id="to-1"></a> `to` | `string` |

***

### TxHistoryParams

#### Properties

| Property | Type |
| ------ | ------ |
| <a id="queries"></a> `queries` | \{ `caip`: `string`; `pubkey`: `string`; \}[] |

***

### XrpSignTxParams

#### Indexable

```ts
[key: string]: any
```
