> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dfns.co/llms.txt
> Use this file to discover all available pages before exploring further.

# TRON

> Network-specific features, signature kinds, supported assets, and integration requirements for TRON wallets on the Dfns custody platform.

TRON is a blockchain platform with smart contract capabilities and unique resource model. This guide covers TRON-specific features when using Dfns wallets.

## Wallet activation

New TRON wallets require **activation** before they can send transactions. A wallet is activated when it first receives TRX.

<Note>
  Ensure your TRON wallet has at least **0.1 TRX** before attempting to send transactions. A transfer from an unactivated wallet fails with `CONTRACT_VALIDATE_ERROR: account does not exist`.
</Note>

## Resource model

TRON uses a unique resource system instead of traditional gas:

| Resource      | Used for                                   | How to obtain                      |
| ------------- | ------------------------------------------ | ---------------------------------- |
| **Bandwidth** | Native TRX transfers, simple operations    | Free daily allowance, or stake TRX |
| **Energy**    | Smart contract execution (TRC-20, TRC-721) | Stake TRX, or pay in TRX           |

### Free bandwidth

Every TRON account receives **600 free Bandwidth Points** daily, which is enough for approximately 2-3 simple TRX transfers.

### Energy for token transfers

TRC-20 token transfers (like USDT) require Energy. If you don't have staked TRX for Energy, the network burns TRX from your balance to cover the cost.

You can obtain Energy in several ways:

* **Stake TRX**: Stake your own TRX to generate Energy
* **Rent Energy**: Use third-party services to rent Energy, typically at lower cost than burning TRX
* **Burn TRX**: Let the network automatically burn TRX from your balance (most expensive option)

```mermaid theme={null}
flowchart TD
    A[Need Energy] --> B{Choose method}
    B --> C[Stake TRX]
    B --> D[Rent Energy]
    B --> E[Burn TRX]
    C --> F[Lowest cost]
    D --> G[Medium cost]
    E --> H[Highest cost]
```

<Note>
  TRON's [Dynamic Energy Model](https://developers.tron.network/docs/resource-model#dynamic-energy-model) increases energy costs for heavily-used contracts. Popular tokens like USDT can cost significantly more energy than baseline estimates due to this multiplier.
</Note>

<Tip>
  For high-volume applications, consider staking TRX or renting Energy to reduce operational costs compared to burning TRX per transaction.
</Tip>

## Fee sponsorship

The Dfns [Fee Sponsor](/features/fee-sponsors) feature is **not available for TRON** due to its unique resource model. Instead, use TRON's native resource delegation to achieve the same result.

### Native resource delegation

TRON's `DelegateResource` function allows a sponsor wallet to delegate bandwidth or energy to other wallets. This enables gasless transactions for end users.

**How it works:**

1. Sponsor stakes TRX using `freezeBalanceV2` to generate resources
2. Sponsor delegates resources to user wallets via `DelegateResource`
3. User wallets can transact without paying fees (using delegated resources)

```mermaid theme={null}
sequenceDiagram
    participant S as Sponsor Wallet
    participant N as TRON Network
    participant U as User Wallet

    S->>N: 1. Stake TRX (freezeBalanceV2)
    N-->>S: 2. Energy/Bandwidth generated
    S->>U: 3. Delegate resources
    U->>N: 4. Transact (gasless)
```

### Implementation

See the [TRON SDK examples](https://github.com/dfns/dfns-sdk-ts/tree/m/examples/libs/tron) for complete implementation details using TronWeb's `delegateResource` function.

<Note>
  The sponsor wallet must have staked TRX to generate the resources being delegated. Use `freezeBalanceV2` to stake TRX for bandwidth or energy.
</Note>

## Transfers

Use the [Transfer Asset](/api-reference/wallets/transfer-asset) endpoint for all TRON transfers:

* **Native TRX**: Use `kind: Native` with amount in SUN (1 TRX = 1,000,000 SUN)
* **TRC-10 tokens**: Use `kind: Trc10` with the token's `tokenId` (native tokens, no smart contract)
* **TRC-20 tokens**: Use `kind: Trc20` with the token's `contract` address (similar to ERC-20)
* **TRC-721 NFTs**: Use `kind: Trc721` with the NFT's `contract` address and `tokenId`

## Address format

TRON addresses start with `T` followed by 33 alphanumeric characters:

* Example: `TJRabPrwbZy45sbavfcjinPJC18kjpRTv8`

## Resource estimation

Before sending TRC-20 tokens, ensure you have sufficient resources:

1. **Check Energy balance**: If zero, ensure you have TRX to burn
2. **Estimate cost**: TRC-20 transfers typically cost 10,000-65,000 Energy (popular contracts like USDT may cost more due to the Dynamic Energy Model)
3. **Buffer**: Keep extra TRX for unexpected costs

## Transaction expiration

TRON transactions expire **60 seconds** after creation. If a transaction is not included in a block within this window, it becomes invalid and fails with `TRANSACTION_EXPIRATION_ERROR`.

<Note>
  When using the [Transfer Asset](/api-reference/wallets/transfer-asset) endpoint, Dfns builds the transaction after policy approval completes, so the 60-second window is not a concern.
</Note>

If you build transactions yourself using the [Broadcast](/api-reference/broadcast/tron) or [Sign](/api-reference/sign/tron) endpoints, the 60-second expiration starts from when you create the transaction. Take this into account when designing approval workflows - if policy approval takes longer than 60 seconds, the transaction will expire and need to be rebuilt.

## SDK integration

For full transaction control, use the Dfns SDK with [TronWeb](https://tronweb.network/). See complete examples:

* [Basic transaction](https://github.com/dfns/dfns-sdk-ts/blob/m/examples/libs/tron/basic-tx/main.ts)
* [Resource delegation](https://github.com/dfns/dfns-sdk-ts/blob/m/examples/libs/tron/delegate-resource/main.ts)

## Related resources

* [TRON broadcast examples](/api-reference/broadcast/tron)
* [TRON signing examples](/api-reference/sign/tron)
* [Supported networks](/networks)
* [TRON documentation](https://developers.tron.network/)
