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

# Unstake TRX to Begin the Cooldown Withdrawal Period

> Initiate unstaking of previously staked TRX on Tron. The TRX enters a protocol-enforced cooldown before you can release it back to your available balance.

When you no longer need the ENERGY or BANDWIDTH resources provided by staked TRX — or when you want to reallocate your TRX — use this endpoint to initiate the unstaking process. After submitting an unstake request, the TRX enters a cooldown period defined by the Tron protocol. During this time the resources are released but the TRX is not yet available for transfers. Once the cooldown completes, use the [Release Unstaked TRX](/api-reference/utilities/tron-release) endpoint to return the funds to your available balance.

## Request

**Method:** `POST`\
**URL:** `https://api.finrock.io/dav/v1/unstake`

### Body Parameters

<ParamField body="asset" type="string" required default="TRX">
  The blockchain ticker. Must be `TRX`.
</ParamField>

<ParamField body="address" type="string" required>
  The Tron address from which you want to unstake TRX. This must be the address where you previously staked via the [Stake TRX](/api-reference/utilities/tron-stake) endpoint.
</ParamField>

<ParamField body="resource" type="string" required default="ENERGY">
  The resource type associated with the TRX you want to unstake. Must match what was staked:

  * `ENERGY` — unstake TRX that was staked for ENERGY
  * `BANDWIDTH` — unstake TRX that was staked for BANDWIDTH
</ParamField>

<ParamField body="amount" type="number" required default="100">
  The amount of TRX to unstake, expressed as a decimal number. Must not exceed the amount currently staked for the specified resource on this address.
</ParamField>

### Headers

<ParamField header="x-api-key" type="string" required>
  Your Finrock API key.
</ParamField>

<ParamField header="Authorization" type="string" required>
  Your JWT bearer token. Format: `Token {JWT}`
</ParamField>

## Example Request

```bash theme={null}
curl --request POST \
     --url https://api.finrock.io/dav/v1/unstake \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-api-key: {{api_key}}' \
     --header 'Authorization: Token {JWT}' \
     --data '
{
  "asset": "TRX",
  "address": "TYourTronAddressHere",
  "resource": "ENERGY",
  "amount": 100
}
'
```

## Response

A `200` response confirms the unstaking has been initiated and the TRX is now in the cooldown period. A `400` response indicates that the unstaking cannot proceed, typically because the amount exceeds what is staked or the address is invalid.

<ResponseField name="200" type="object">
  Confirms the unstaking request has been submitted. Includes details of the cooldown period after which the TRX can be released.
</ResponseField>

<ResponseField name="400" type="object">
  Returned when the address is invalid, the resource type does not match what is staked, or the unstake amount exceeds the staked balance.
</ResponseField>

<Warning>
  During the Tron cooldown period, the unstaked TRX is neither available for transfer nor earning resources. Plan your unstaking operations in advance to avoid gaps in resource coverage for high-volume addresses.
</Warning>
