# @tronweb3/tronwallet-adapter-tronlink

> Wallet adapter for TronLink Wallet extension and TronLink app.

Latest version **1.3.0** (published 2026-09-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install @tronweb3/tronwallet-adapter-tronlink
pnpm add @tronweb3/tronwallet-adapter-tronlink
yarn add @tronweb3/tronwallet-adapter-tronlink
bun add @tronweb3/tronwallet-adapter-tronlink
```

## 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 | 1.3.0 |
| Published | 2026-09-04 |
| First published | 2022-12-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=16 |
| Dependencies | 1 |
| Unpacked size | 314.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 80 |
| Author | tronweb3 |
| Maintainers | troncore, tronwallet-adapter |
| Keywords | TRON, TronWeb, TronLink |

## Links

- npm: https://www.npmjs.com/package/@tronweb3/tronwallet-adapter-tronlink
- Repository: https://github.com/tronweb3/tronwallet-adapter
- Homepage: https://github.com/tronweb3/tronwallet-adapter#readme
- Issues: https://github.com/tronweb3/tronwallet-adapter/issues
- npm.io page: https://npm.io/package/@tronweb3/tronwallet-adapter-tronlink

## Dependencies (1)

- [@tronweb3/tronwallet-abstract-adapter](https://npm.io/package/@tronweb3/tronwallet-abstract-adapter.md) ^1.3.0

## Recent versions

- 1.3.0 (latest) — 2026-09-04
- 1.2.0 — 2026-06-11
- 1.1.16 — 2026-04-23
- 1.1.15 — 2026-04-09
- 1.1.14 — 2026-03-25
- 1.1.13 — 2025-09-25
- 1.1.12 — 2025-03-25
- 1.1.11 — 2024-10-25
- 1.1.10 — 2024-09-24
- 1.1.9 — 2023-11-15
- 1.1.8 — 2023-09-19
- 1.1.7 — 2023-08-10
- 1.1.6 — 2023-06-20
- 1.1.5 — 2023-05-05
- 1.1.4 — 2023-03-23
- … 5 more at https://npm.io/package/@tronweb3/tronwallet-adapter-tronlink/versions

## README

# `@tronweb3/tronwallet-adapter-tronlink`

This package provides an adapter to enable TRON DApps to connect to the [TronLink Wallet extension](https://chrome.google.com/webstore/detail/tronlink/ibnejdfjmmkpcnlpebklmnkoeoihofec) and [TronLink Wallet App](https://www.tronlink.org/).

## Demo

```typescript
import { TronLinkAdapter } from '@tronweb3/tronwallet-adapter-tronlink';
import TronWeb from 'tronweb';

const tronWeb = new TronWeb({
    fullHost: 'https://api.trongrid.io',
    headers: { 'TRON-PRO-API-KEY': 'your api key' },
});

const adapter = new TronLinkAdapter();
// connect
await adapter.connect();

// then you can get address
console.log(adapter.address);

// create a send TRX transaction
const unSignedTransaction = await tronWeb.transactionBuilder.sendTrx(targetAddress, 100, adapter.address);
// using adapter to sign the transaction
const signedTransaction = await adapter.signTransaction(unSignedTransaction);
// broadcast the transaction
await tronWeb.trx.sendRawTransaction(signedTransaction);
```

## Documentation

### API

-   `Constructor(config: TronLinkAdapterConfig)`
    ```typescript
    interface TronLinkAdapterConfig {
        /**
         * Set if open Wallet's website url when wallet is not installed.
         * Default is true.
         */
        openUrlWhenWalletNotFound?: boolean;
        /**
         * Timeout in millisecond for checking if TronLink wallet exists.
         * Default is 5 * 1000ms
         * Must be a finite number between 0 and 600000 (10 minutes);
         * anything else throws at construction.
         */
        checkTimeout?: number;
        /**
         * Set if open TronLink app using DeepLink on mobile device.
         * Default is true.
         */
        openAppWithDeeplink?: boolean;
        /**
         * The icon of your dapp. Used when open TronLink app in mobile device browsers.
         * Default is current website icon.
         */
        dappIcon?: string;
        /**
         * The name of your dapp. Used when open TronLink app in mobile device browsers.
         * Default is `document.title`.
         */
        dappName?: string;
    }
    ```
-   `network()` method is supported to get current network information. The type of returned value is `Network` as follows:

    ```typescript
    export enum NetworkType {
        Mainnet = 'Mainnet',
        Shasta = 'Shasta',
        Nile = 'Nile',
        /**
         * When use custom node
         */
        Unknown = 'Unknown',
    }

    export type Network = {
        networkType: NetworkType;
        chainId: string;
        fullNode: string;
        solidityNode: string;
        eventServer: string;
    };
    ```

### Security Check

`TronLinkAdapter` supports an optional `securityOptions` field for detecting wallet risks before `connect()`. When enabled, the adapter fetches a remote risk configuration and calls `onRiskDetected` if the wallet is flagged.

```typescript
const adapter = new TronLinkAdapter({
    securityOptions: {
        enabled: true,
        configUrls: ['https://your-server.com/security-config.json'],
        onRiskDetected: async ({ risks }) => {
            // Throw to block the connection, or log a warning
            throw new Error(`Wallet risk detected: ${risks[0].title}`);
        },
    },
});
```

For the full `SecurityOptions` API reference, see [walletadapter.org/docs](https://walletadapter.org/docs/index.html).

### Caveats

-   **TronLink Doesn't support `disconnect` by DApp**. As TronLinkAdapter doesn't support disconnect by DApp website, call `adapter.disconnect()` won't disconnect from TronLink extension really.
-   **Desktop discovery is asynchronous**. On desktop, the adapter requests TIP-6963 providers first and then falls back to legacy `window.tron` / `window.tronLink` detection before `checkTimeout`, so `readyState` may stay `Loading` briefly after construction.

For more information about tronwallet adapters, please refer to [`@tronweb3/tronwallet-adapters`](https://github.com/tronweb3/tronwallet-adapter/tree/main/packages/adapters/adapters)

---
_Source: https://npm.io/package/@tronweb3/tronwallet-adapter-tronlink · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
