# @ledgerhq/hw-app-trx

> Ledger Hardware Wallet Tron Application API

Latest version **6.36.6** (published 2026-08-04) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @ledgerhq/hw-app-trx
pnpm add @ledgerhq/hw-app-trx
yarn add @ledgerhq/hw-app-trx
bun add @ledgerhq/hw-app-trx
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 6.36.6 |
| Published | 2026-08-04 |
| First published | 2020-02-18 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 142.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 616 |
| Maintainers | phenry-ledger, sergii-shkolin, gbrahm-ledger, thomas.coudray, ldg-github-ci, vbouzon, ledger-releaser |
| Keywords | Ledger, LedgerWallet, Tron, Trx, NanoS, Blue, Hardware Wallet |

## Links

- npm: https://www.npmjs.com/package/@ledgerhq/hw-app-trx
- Repository: https://github.com/LedgerHQ/ledger-live
- Homepage: https://github.com/LedgerHQ/ledger-live/tree/develop/libs/ledgerjs/packages/hw-app-trx
- Issues: https://github.com/LedgerHQ/ledger-live/issues
- npm.io page: https://npm.io/package/@ledgerhq/hw-app-trx

## Dependencies (1)

- [@ledgerhq/hw-transport](https://npm.io/package/@ledgerhq/hw-transport.md) 6.35.7

## Alternatives

- [@commercetools/sync-actions](https://npm.io/package/@commercetools/sync-actions.md) — 25.1K weekly downloads
- [cwait](https://npm.io/package/cwait.md) — 21.4K weekly downloads
- [@ledgerhq/hw-app-cosmos](https://npm.io/package/@ledgerhq/hw-app-cosmos.md) — 4.2K weekly downloads
- [@financial-times/o-loading](https://npm.io/package/@financial-times/o-loading.md) — 2.8K weekly downloads
- [fa](https://npm.io/package/fa.md) — 185 weekly downloads

## Recent versions

- 6.36.6 (latest) — 2026-08-04
- 6.36.6-nightly.20260731030119 (nightly) — 2026-07-31
- 6.31.3-next.0 (next) — 2025-06-17
- 6.29.2-hotfix.0 (hotfix) — 2024-07-22
- 6.29.0-windows-certificate.0 (windows-certificate) — 2024-05-28
- 6.28.4-new-wc.0 (new-wc) — 2024-02-20
- 6.28.4-new-wc-test.0 (new-wc-test) — 2024-02-20
- 6.28.4-wc-test.0 (wc-test) — 2024-02-14
- 6.28.3-start-exchange.0 (start-exchange) — 2024-01-31
- 6.28.2-custom-exchange.0 (custom-exchange) — 2024-01-09
- 6.27.20-tag-word.0 (tag-word) — 2023-10-25
- 6.27.16-notarizer.0 (notarizer) — 2023-06-22
- 6.27.13-recover-beta.0 (recover-beta) — 2023-04-01
- 6.27.13-recover-simu.0 (recover-simu) — 2023-03-24
- 6.27.13-recover-staging.0 (recover-staging) — 2023-03-22
- … 413 more at https://npm.io/package/@ledgerhq/hw-app-trx/versions

## README

<img src="https://user-images.githubusercontent.com/4631227/191834116-59cf590e-25cc-4956-ae5c-812ea464f324.png" height="100" />

[GitHub](https://github.com/LedgerHQ/ledger-live/),
[Ledger Devs Discord](https://developers.ledger.com/discord-pro),
[Developer Portal](https://developers.ledger.com/)

## @ledgerhq/hw-app-trx

> \[!WARNING]
> **Status: DEPRECATED** — Replaced by the Device Management Kit (DMK). Migrate to `@ledgerhq/device-signer-kit-tron`.

Ledger Hardware Wallet TRX JavaScript bindings.

***

## Are you adding Ledger support to your software wallet?

You may be using this package to communicate with the TRX Nano App.

For a smooth and quick integration:

*   See the developers’ documentation on the [Developer Portal](https://developers.ledger.com/docs/transport/overview/) and
*   Go on [Discord](https://developers.ledger.com/discord-pro/) to chat with developer support and the developer community.

***

## API

<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

#### Table of Contents

*   [Trx](#trx)
    *   [Parameters](#parameters)
    *   [Examples](#examples)
    *   [getAddress](#getaddress)
        *   [Parameters](#parameters-1)
        *   [Examples](#examples-1)
    *   [signTransaction](#signtransaction)
        *   [Parameters](#parameters-2)
        *   [Examples](#examples-2)
    *   [signTransactionHash](#signtransactionhash)
        *   [Parameters](#parameters-3)
        *   [Examples](#examples-3)
    *   [getAppConfiguration](#getappconfiguration)
        *   [Examples](#examples-4)
    *   [signPersonalMessage](#signpersonalmessage)
        *   [Parameters](#parameters-4)
        *   [Examples](#examples-5)
    *   [signTIP712HashedMessage](#signtip712hashedmessage)
        *   [Parameters](#parameters-5)
        *   [Examples](#examples-6)
    *   [getECDHPairKey](#getecdhpairkey)
        *   [Parameters](#parameters-6)
        *   [Examples](#examples-7)

### Trx

Tron API

#### Parameters

*   `transport` **Transport**&#x20;
*   `scrambleKey`   (optional, default `"TRX"`)

#### Examples

```javascript
import Trx from "@ledgerhq/hw-app-trx";
const trx = new Trx(transport)
```

#### getAddress

get Tron address for a given BIP 32 path.

##### Parameters

*   `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in BIP 32 format
*   `boolDisplay` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**&#x20;
*   `boolChaincode` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**&#x20;

##### Examples

```javascript
const address = await tron.getAddress("44'/195'/0'/0/0").then(o => o.address)
```

Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<{publicKey: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), address: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), chainCode: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?}>** an object with a publicKey, address and (optionally) chainCode

#### signTransaction

sign a Tron transaction with a given BIP 32 path and Token Names

##### Parameters

*   `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in BIP 32 format
*   `rawTxHex` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a raw transaction hex string
*   `tokenSignatures` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** Tokens Signatures array

##### Examples

```javascript
const signature = await tron.signTransaction("44'/195'/0'/0/0", "0a02f5942208704dda506d59dceb40f0f4978f802e5a69080112650a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412340a1541978dbd103cfe59c35e753d09dd44ae1ae64621c7121541e2ae49db6a70b9b4757d2137a43b69b24a445780188ef8b5ba0470cbb5948f802e", [], 105);
```

Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** a signature as hex string

#### signTransactionHash

sign a Tron transaction hash with a given BIP 32 path

##### Parameters

*   `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in BIP 32 format
*   `rawTxHashHex` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
*   `rawTxHex`  a raw transaction hex string

##### Examples

```javascript
const signature = await tron.signTransactionHash("44'/195'/0'/0/0", "25b18a55f86afb10e7aca38d0073d04c80397c6636069193953fdefaea0b8369");
```

Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** a signature as hex string

#### getAppConfiguration

get the version of the Tron app installed on the hardware device

##### Examples

```javascript
const result = await tron.getAppConfiguration();
{
  "version": "0.1.5",
  "versionN": "105".
  "allowData": false,
  "allowContract": false,
  "truncateAddress": false,
  "signByHash": false
}
```

Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<{allowContract: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean), truncateAddress: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean), allowData: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean), signByHash: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean), version: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), versionN: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)}>** an object with a version

#### signPersonalMessage

sign a Tron Message with a given BIP 32 path

##### Parameters

*   `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in BIP 32 format
*   `messageHex` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
*   `message`  hex string to sign

##### Examples

```javascript
const signature = await tron.signPersonalMessage("44'/195'/0'/0/0", "43727970746f436861696e2d54726f6e5352204c6564676572205472616e73616374696f6e73205465737473");
```

Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** a signature as hex string

#### signTIP712HashedMessage

Sign a typed data. The host computes the domain separator and hashStruct(message)

##### Parameters

*   `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
*   `domainSeparatorHex` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
*   `hashStructMessageHex` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;

##### Examples

```javascript
const signature = await tronApp.signTIP712HashedMessage("44'/195'/0'/0/0",Buffer.from( "0101010101010101010101010101010101010101010101010101010101010101").toString("hex"), Buffer.from("0202020202020202020202020202020202020202020202020202020202020202").toString("hex"));
```

#### getECDHPairKey

get Tron address for a given BIP 32 path.

##### Parameters

*   `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in BIP 32 format
*   `publicKey` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** address public key to generate pair key

##### Examples

```javascript
const signature = await tron.getECDHPairKey("44'/195'/0'/0/0", "04ff21f8e64d3a3c0198edfbb7afdc79be959432e92e2f8a1984bb436a414b8edcec0345aad0c1bf7da04fd036dd7f9f617e30669224283d950fab9dd84831dc83");
```

Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** shared key hex string,

---
_Source: https://npm.io/package/@ledgerhq/hw-app-trx · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
