canonical: https://jentic.com/apis/adyen.com/adyen-balance-control

# Adyen Balance Control API

The Adyen Balance Control API moves funds between merchant accounts that belong to the same legal entity inside one Adyen company account. It exposes a single POST /balanceTransfer endpoint that initiates a transfer with a source merchant account, destination merchant account, amount, and idempotency key. The API is designed for treasury operations on Adyen's classic platform - rebalancing settlement merchant accounts before payouts, reallocating commission, or correcting misrouted funds - and is separate from the Balance Platform Configuration API used by Adyen for Platforms customers.

## For AI agents

Transfer funds between two merchant accounts on the same Adyen legal entity using a single balanceTransfer call.

## Scope

Does not handle card payments, payouts to bank accounts, account holder management, or cross-legal-entity transfers - use for internal merchant-account-to-merchant-account transfers only.

## Capabilities

- Move funds between merchant accounts under one Adyen company account using POST /balanceTransfer
- Specify source and destination merchant account codes plus amount and currency in a single request
- Pass an idempotency key (merchantReference) so retries do not create duplicate transfers
- Authenticate with an X-API-Key header or basic auth credentials issued in the Customer Area
- Use the test endpoint host before switching to the live PAL host for production transfers

## Use cases

### Treasury Rebalancing Between Merchant Accounts

Adyen merchants who run multiple merchant accounts under one legal entity need to rebalance funds before payouts, after disputes, or to fund a new account. The Balance Control API's POST /balanceTransfer endpoint moves a specified amount from one merchant account to another in a single call, with an idempotency key to prevent duplicate movements when retries occur.

Example prompt: Call POST /balanceTransfer with sourceMerchantAccount=AcmeRetail, destinationMerchantAccount=AcmeWholesale, amount {value:50000, currency:EUR}, and a unique merchantReference, then return the pspReference

### Commission and Revenue-Share Allocation

Marketplaces and platform operators on Adyen's classic platform often collect funds into a single capture merchant account and then split commission across operating accounts. The Balance Control API enables that split with a sequence of /balanceTransfer calls - one per recipient - without involving Adyen for Platforms or external bank rails.

Example prompt: For each commission recipient, call POST /balanceTransfer from the capture merchant account to the recipient merchant account with the calculated share amount and a per-transfer merchantReference

### Idempotent Correction of Misrouted Settlements

When a settlement lands on the wrong merchant account, finance teams need a safe way to move funds back without risk of duplicate corrections. The Balance Control API accepts a merchantReference that Adyen treats as an idempotency key - replaying the same call with the same reference returns the original result rather than creating a second transfer.

Example prompt: Replay POST /balanceTransfer with the same merchantReference used in the original failed correction and confirm the response returns the existing pspReference rather than creating a new transfer

### Agent-Driven Treasury Operations via Jentic

Finance agents that run scheduled rebalancing or react to alerts can use Jentic to discover and execute Balance Control transfers without hand-rolling Adyen client code. The agent searches Jentic for a transfer intent, loads the operation schema, and executes the call with the X-API-Key managed inside your Jentic One instance - the agent context never holds the raw credential.

Example prompt: Use Jentic to search for 'transfer funds between adyen merchant accounts', load the balanceTransfer operation, and execute it with the source, destination, amount, and merchantReference for the scheduled rebalance

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /balanceTransfer | Transfer funds between two merchant accounts under one company account |

## Key resources

- **Balance transfer** — Move funds between two merchant accounts on the same legal entity

## Why Jentic

- **Setup:** Wiring the Adyen Balance Control API by hand means handling its X-API-Key or basic auth and targeting the classic PAL host for a call that moves money. Through Jentic you install once, import the Balance Control API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Balance Control takes the source and destination merchant accounts in the request body rather than a resource id in the URL path, so you limit the agent to the single operation it needs, the balance transfer. Because you pick the operations, this surface exposes nothing beyond that transfer.
- **Credential handling:** Your Adyen X-API-Key and basic auth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'transfer funds between adyen merchant accounts', and Jentic returns the balanceTransfer operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Adyen Balance Platform Configuration API** — Adyen for Platforms equivalent - covers account holders, balance accounts, and platform-wide configuration
- **Stripe** — Stripe Treasury and Connect cover comparable internal balance and transfer flows
- **Adyen Checkout API** — Captures funds into merchant accounts that Balance Control then rebalances

## FAQ

### What authentication does the Adyen Balance Control API use?

The API supports two schemes: an apiKey scheme using the X-API-Key header, and HTTP basic auth with a Customer Area username and password. Through Jentic, the X-API-Key is stored in the encrypted vault so agents call balanceTransfer without ever holding the raw credential.

### Can I transfer funds across different Adyen company accounts with this API?

No. The Balance Control API only moves funds between merchant accounts that share the same legal entity under one Adyen company account. Cross-company or cross-legal-entity movement requires Adyen for Platforms and the Balance Platform Transfer API.

### What are the rate limits for the Adyen Balance Control API?

The OpenAPI spec does not declare programmatic rate limits. Adyen documents per-merchant-account throughput limits in their developer portal - coordinate large rebalancing batches with your Adyen account manager and use idempotent merchantReference values so retries are safe.

### How do I trigger a balance transfer through Jentic?

Search Jentic for 'transfer funds between adyen merchant accounts', load the POST /balanceTransfer operation, and execute it with sourceMerchantAccount, destinationMerchantAccount, amount, and a unique merchantReference. Jentic returns the structured response including the pspReference.

### Is the merchantReference field used for idempotency?

Yes. Replaying POST /balanceTransfer with the same merchantReference returns the original transfer's pspReference rather than creating a duplicate transfer, which makes it safe to retry on network failures or agent timeouts.

### Can I limit what my agent is allowed to do with the Adyen Balance Control API?

Yes. Because Jentic One is self-hosted and you decide which operations your agent may call, you can grant it only the single POST /balanceTransfer operation this API exposes and nothing else. The source and destination merchant accounts travel in the request body rather than a resource path, so scoping the agent to just the balance transfer keeps the surface limited to moving funds between accounts. Your own rules also govern which credentials the agent may use, and the stored X-API-Key or basic auth is injected only at execution time so it never enters the agent's context.
