# API Wallets Generation

## Create an inabit API Wallet

The CreateApiWalletAddress mutation allows API admins to create a new inabit API wallet with a designated address for a given asset & blockchain.

> Remember to authenticate to call our graphQL API using an access token (bearer) with your **API** **Admin** credentials. (If you're not sure how, refer to [Authentication](https://docs.inabit.com/api-reference/develop-with-inabit-api/getting-started/authentication))
>
> Don't have an API Admin user yet? contact us at <mark style="color:blue;"><support@inabit.com></mark> to create one!

### **CreateApiWalletAddress Mutation:**

```graphql
mutation CreateApiWalletAddress($data: ApiWalletCreateAddressInput!) {
  createApiWalletAddress(data: $data) {
    address
    walletId
  }
}
```

### **Body (**<mark style="color:orange;">ApiWalletCreateAddressInput</mark> object)

| Name                                               | Type   | Description                                               |
| -------------------------------------------------- | ------ | --------------------------------------------------------- |
| blockchainId<mark style="color:red;">\*</mark>     | string | ID of the blockchain in inabit                            |
| financialAssetId<mark style="color:red;">\*</mark> | string | ID of the financial asset in inabit (can be token/native) |
| organizationId<mark style="color:red;">\*</mark>   | string | ID of the organization in inabit                          |

Example body:

```graphql
{
  "data": {
    "blockchainId": "clefn78cl00i3lc6rih442mx9",
    "financialAssetId": "clefn78h5012plc6rxbmofnop",
    "organizationId": "clsu8bel7000dlciyfdfbmwcw"
  }
}
```

### Response

{% tabs %}
{% tab title="🟢 Success" %}

```graphql
{
	"data": {
		"createApiWalletAddress": {
			"address": "0xcc918e16bc528bf58fc250f56898c7d917d33de2",
			"walletId": "cluicfnpb000066015d3narbc"
		}
	}
}
```

{% endtab %}

{% tab title="🔴 Failure" %}

```graphql
{
  "error": "Invalid request"
}
```

{% endtab %}
{% endtabs %}

In the mutation's response, you will receive the created api wallet ID including the associated blockchain address.

{% hint style="info" %}
Generating a new API wallet will generate a different ID and address.

You can't add multiple blockchains under the same API wallet.\
**One** inabit API wallet = **one** address
{% endhint %}
