# CreateAccount

Activate an account. Uses an already activated account to activate a new account. Users have to generate an account locally with wallet-cli or others SDKs like TronWeb, and then use this API to activate the account generated, or just simply transfer TRX to it.

This method will use `30` [Compute Units](/v1/about/billing.md).

***

## **Parameters**

* `owner_address` - String - An activated account, converted to a hex String. If the owner\_address has enough bandwidth obtained by freezing TRX, then creating an account will only consume bandwidth, otherwise, 0.1 TRX will be burned to pay for bandwidth, and at the same time, 1 TRX will be required to be created.
* `account_address` - String - The address of the new account, converted to a hex string, this address needs to be calculated in advance
* `visible` - Boolean - Optional. Specifies whether the address is in Base58 format (default: false).
* `permission_id` - int32 - Optional - For multi-signature use

## **Returns**

Transaction - JSON object: Unsigned transaction, please refer to the [Transaction](https://developers.tron.network/docs/tron-protocol-transaction) chapter for the fields contained in it. Since the transaction type is `AccountCreateContract`, the fields contained in `raw_data.contract[0].parameter.value` in the transaction are as follows:

| Field            | Type   | Description                                                                                            |
| ---------------- | ------ | ------------------------------------------------------------------------------------------------------ |
| owner\_address   | string | Transaction initiator address                                                                          |
| account\_address | string | Account address to be activated                                                                        |
| type             | int    | Account type. The external account type is 0, and this field will not be displayed in the return value |

```bash
// Result
{}
```

{% tabs %}
{% tab title="mainnet" %}

```bash
curl https://mainnet.tron.validationcloud.io/v1/<YOUR_API_KEY_HERE>/wallet/createaccount \
    -X POST \
    -H "Content-Type: application/json" \
    -d '
{
  "owner_address": "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g",
  "account_address": "TFgY1uN8buRxAtV2r6Zy5sG3ACko6pJT1y",
  "visible": true
}
'
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.validationcloud.io/v1/tron/tron-full-node-http-api/accounts/createaccount.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
