# 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](/api-reference/develop-with-inabit-api/getting-started/authentication.md))
>
> 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 %}


---

# 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.inabit.com/api-reference/remote-approver-app/api-wallets-generation.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.
