> For the complete documentation index, see [llms.txt](https://docs.xyb.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xyb.co/accounts/configure-accounts/setting-up-product-configuration-for-accounts.md).

# Setting Up Product Configuration for Accounts

Once you’ve planned your account structure including wallet strategies, ledger linkage, and metadata, the next step is to define all of that in a **Product Configuration**.

This configuration is what XYB Accounts reads before creating each account. It acts as your **blueprint**, ensuring accounts are built exactly the way you intend with all the right defaults, wallets, and behaviors.

***

XYB Accounts depends on product config to know:

* What kind of wallet(s) to create
* Which banking or ledger strategy to use (XYB, TM, TCC)
* Whether to enable features like statement pushes or four-eye
* What metadata and currency setup should be enforced
* How to interpret owner and jurisdiction fields

Without this config, account creation will return an error.

***

### What Goes Into a Product Configuration?

Here’s a breakdown of key components you define in your config:

| Field/Section           | Purpose                                           |
| ----------------------- | ------------------------------------------------- |
| `productId` + `version` | Uniquely identifies the configuration             |
| Ledger provider         | XYB / Thought Machine / Other                     |
| Banking provider        | TCC / LHV / Other                                 |
| Wallet setup            | Currencies, wallet codes, auto-create flags       |
| Jurisdiction rules      | For compliance and tax logic                      |
| Visibility attributes   | For frontend and UX                               |
| Default metadata        | Risk level, category, customer tier, etc.         |
| Silent push flags       | Enable/disable event-driven balance notifications |

***

### How to Create the Product Configuration

#### Option 1: Use Admin Tools

Some clients have access to a **UI configuration console** (internal tool) where they can define new products.

{% embed url="<https://www.youtube.com/watch?v=vgpy_kSwDLA>" %}

> If you’re onboarding as a full XYB platform client, reach out to your onboarding team for access.

***

#### Option 2: Use Product Config API

You can programmatically define configs using:

```
POST /api/v1/product-configuration
```

With a payload like:

```json
{
  "productId": "abc-123",
  "version": "1.0",
  "serviceName": "cac-account-svc",
  "components": [
    {
      "identifier": "wallet_config",
      "components": [
        {
          "identifier": "default_currency",
          "components": [{ "iso3": "EUR" }]
        },
        {
          "identifier": "wallet_currencies",
          "components": [
            { "iso3": "EUR" },
            { "iso3": "USD" }
          ]
        }
      ]
    },
    {
      "identifier": "ledger_config",
      "components": [
        {
          "identifier": "ledger_providers",
          "components": [{ "identifier": "XYB" }]
        },
        {
          "identifier": "wallet_code",
          "value": "DEFAULT"
        }
      ]
    }
  ]
}
```

Need a detailed schema? Link to the API documentation here.

***

#### Option 3: Preload Configs via Onboarding

For some deployments, initial configs are **predefined** by XYB and shipped as part of your environment setup. You just need to:

* Review them
* Add versions as needed
* Link account creation to the correct `productId` + `version`

***

### Once Configured, You Can...

Start creating accounts via:

* `POST /account` API
* Internal tools or portals
* Automation scripts

***

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.xyb.co/accounts/configure-accounts/setting-up-product-configuration-for-accounts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
