# CreateAccount

**Return**: Transaction object

{% hint style="info" %}
**Note**

The expiration time of the http api creation transaction is 1 minute, so to complete the on-chain, you need to complete gettransactionsign and broadcasttransaction within 1 minute after the creation.
{% endhint %}

**Body params**:

* `owner_address` - Owner\_address is 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` - account\_address is the address of the new account, converted to a hex string, this address needs to be calculated in advance
* `visible` - Optional,whether the address is in base58 format
* `permission_id` - Optional,for multi-signature use

**Request**

```
curl --request POST \
     --url https://tron.api.watchdata.io/wallet/createaccount \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --data '
{
     "owner_address": "41d1e7a6bc354106cb410e65ff8b181c600ff14292",
     "account_address": "41e552f6487585c2b58bc2c9bb4492bc1f17132cd0"
}
'
```

**Response**

```
{
  "Error": "class org.tron.core.exception.ContractValidateException : Account has existed"
}
```
