# IBAN Management

IBAN Management Service is a solution provided by Verestro that enables comprehensive management of bank accounts for both Partners and **endusers**. The system allows for the **generation of virtual accounts** linked to an existing **master account**. IBAN Management Service also supports **incoming and outgoing transfers** both from the master account and the virtual accounts, ensuring flexible and transparent management of financial resources.

# Article

You can find more knowledge about products on this site.

# Guide to IBAN setup process

In this article we would like to focus on **IBAN**, bank accounts delivery to your customers. This topic is raising a lot of questions and requires attention.

Let's assume that you would like to offer IBANs for your customers. If you are a fintech provider, money transfer organization, lending company, eCom marketplace, it could make a lot of sense as a value added product. In such a case [**Verestro**](https://www.verestro.com/), together with partnering payment institutions and banks can provide you IBANs via API or inside our SDKs or white label products and your customers will be able to transfer money to and from those bank accounts in the same way they do it in normal mobile or internet banking.

But what happens in the background? How does it work?

There are a few dimensions that we need to remember about once enabling the IBAN product - technology, money movement, money holding, liquidity management etc.

##### Technology

From a technology perspective it is not very difficult. You just go to section IBAN management in our [**Developer Zone**](https://developer.verestro.com/books/iban-management) and can find APIs. Please remember that you must create a user first in our database, perform KYC in majority of cases, create a balance or account for this user and once it is done you will use this IBAN API to create an account number (IBAN) for this payment account.

In the background, during project setup and operations, Verestro and our partnering payment institutions create for you a set of IBANs from one or more banks that will be used in case you request IBANs or transfers via API. Once transactions come to this IBAN, technically you are receiving information from our system that the balance of the account changed and you can display this information to the user.

##### Money Movement

By **Money Movement** we mean a process of transferring real money from sender to receiver. Because we are using various payment institutions and banks behind our system, it is worth discussing. There are the following steps in this transaction:

1. Sender sends money to IBAN of your user generated at Verestro platform
2. Our partnering payment institution or bank receives information about incoming transfer to this IBAN
3. Verestro platform informs you about the incoming transfer and optionally initiates movement of money to another bank which acts as settlement bank for your transactions. This happens in case IBAN is generated in another payment institution than Settlement Bank
4. Money gets available on user or your account or for settlements of card transactions at the moment it arrives at Settlement Bank (usually you do not experience any problems as it is at D+1 time)

##### Money Holding

In all cases money is held by **banks** cooperating with Verestro so they are secure in the same way as any other banking account in those banks. We cooperate only with strong and reliable banks in various countries (usually based in Poland).

##### Liquidity Management

In some cases once you are receiving and sending money from and to IBANs, in order to avoid delays of money transfers between various payment institutions and banks, it is necessary to place and manage additional **liquidity benefits** so that your users could send money faster. We will inform you about such situations during the project depending on the requirements and use case we are going to implement together.

Thank you for reading.

# How can I reload a payment account or card?

There are many ways of transferring money to payment accounts or cards. In this article we would like to explain how it can be done with Verestro and in other cases.

Let's start with definitions so that we speak the same language. What is a payment card? What is a payment account? What is an IBAN? It seems simple, but in fact many customers use these words in a different way.

- **Payment Account** - it is a place in the system of a payment institution which holds information about money stored for a particular customer. Just it - a kind of a Record ID in a payment institution. It is not an IBAN, it is not a card.
- **IBAN** - IBAN is a payment account number in an international banking standard. This number helps sending wire transfers to a Payment Account.
- **Payment Card** - it is another number (PAN - Primary Account Number in the terminology of Mastercard and VISA) connected with a Payment Account and usually another payment instrument connected with a Payment Account. The Payment Card is a tool to pay using money on a Payment Account and sometimes it is a way to transfer money to a Payment Account. To be honest, I do not know situations where a Payment Card works without a Payment Account. In some countries (like USA) usually a Payment Account is not used in common discussions, but in fact there is always a Payment Account connected to a Payment Card.

Once we know those 3 definitions, let's look at the ways of transferring money to a Payment Account, which in other words could mean ways of reloading a Payment Card. There are several ways that we can use:

1. **Bank transfer to IBAN** - in such a case the user is sending money from an external bank account to our Payment Account, using an IBAN connected with our Payment Account. Usually it is a very easy, fast and effective way of transferring money in case of domestic transfers. It could be a costly way of reloading an account if the customer is abroad.
2. **Payout to Card** - in such a case the user is sending money from another bank or money transfer organisation using a Payment Card number issued by Verestro and our issuing partner. The customer is using Mastercard Moneysend or VISA Direct to transfer money from another account to their Payment Account at Verestro. Usually it is very fast but not cheap way of money transfers.
3. **Card-to-card** - card-to-card transfer is used when the user provides at external service another Mastercard or VISA card and transfers money to a card issued at Verestro. In such a case a funding card (a card issued by another bank) is debited and our Payment Card is credited, which means that money will appear on the Payment Account soon.
4. **Reload by another card via PSP, Google Pay or Apple Pay** - in any wallet of our partners we can provide functionality called Paytool which enables charging another card and sending money directly to the user's Payment Account. In this situation a funding card is charged as if it was an eCommerce transaction. The user's Payment Account can be reloaded quickly.
5. **Reload by partner** - in many cases our partners can use their own funds to reload the user's Payment Account. Examples of such situations are lending institutions that issue a card and reload a Payment Account with a loan amount. Similar example could be issuing cards for insurance related claims - in such a situation our partner (insurance company) adds money to the user's card and sends the card to the insured person. Usually such a reload happens via MasterBalance which is an account that we hold for our partners and it contains their money. This account can be used for a reload, as is usually used for transaction processing.
6. **Reload by crypto assets** - in some cases it is possible that our partners send crypto assets and we will convert them in cooperation with our partners into FIAT currencies to reload the user's account.
7. **Openbanking** - our partners can use open banking PIS (Payment Initiation) messages to transfer money to the user's Payment Account. We can help with such reload tools using our Paytool product.

Those are ways of reload we use today. We are happy to work on other ways of money transfers and enable new ones.

Thanks for reading.

# Introduction

<span style="color: rgb(0, 0, 0);">**IBAN Management Service** is a solution provided by Verestro that enables comprehensive management of bank accounts for both **Partners** and **endusers**. The system allows for the **generation of virtual accounts** linked to an existing **master account**. IBAN Management Service also supports **incoming and outgoing transfers** both from the master account and the virtual accounts, ensuring flexible and transparent management of financial resources.</span>

<span style="color: #000000;">As part of the integration, it is also possible to create an [<span style="text-decoration: underline;">Admin Panel</span>](https://developer.verestro.com/books/administration-panel/page/overview) instance for you which allows you to track and manage transfers made using the IBAN Management solution.</span>

<p class="callout info"><span style="color: #000000;">The solution is available to Partners integrated with Antaca. For more information about Antaca service, please open [<span style="text-decoration: underline;">this link</span>](https://developer.verestro.com/books/card-issuing-and-core-banking)</span></p>

##### <span style="color: #000000;">Key Capabilities:</span>

- <span style="color: #000000;">**Virtual account generation**- create unlimited virtual IBANs linked to existing master accounts;</span>
- <span style="color: #000000;">**Multi-currency support**- process transactions in PLN, EUR, and USD;</span>
- <span style="color: #000000;">**Transfer processing**- handle incoming and outgoing transfers through multiple banking channels;</span>
- <span style="color: #000000;">**Real-time management**- monitor banking operations through Admin Panel</span>

##### <span style="color: #000000;">How to connect with us?</span>

<span style="color: #000000;">Verestro provides access to the solution through REST API implementation model.</span>

<span style="color: rgb(0, 0, 0);">The REST API integration model involves connecting directly via a server to server path. In this case we do not provide any application view - each process is performed using the API methods according with the REST protocol. In this integration model, authorization is performed using <span style="text-decoration: underline;">[x509 certificate authentication](https://developer.verestro.com/books/iban-management/page/technical-documentation#bkmrk-how-to-generate-csr-)</span>. More detailed information about integration with IBAN Management is provided in the [documentation](https://developer.verestro.com/books/iban-management/page/technical-documentation). Verestro actively supports the Partner throughout the integration process.</span>

# Overview

<span style="color: #000000;">This document provides a high-level description of the functionalities offered by the **IBAN Management Service**. The service enables management of the master account assigned to your institution as the Partner, as well as virtual accounts of endusers- including corporations. Within the service, it is possible to generate accounts, receive transfers, and send them. </span>

<p class="callout info"><span style="color: #000000;">The implementation of the service requires the payment institution to open a master account with a partnering bank. To initiate this process, please contact our Sales Department.</span></p>

## <span style="font-family: Lato; color: #000000;"><span lang="en-US">Abbreviations</span></span>

<span style="font-family: Lato; color: #000000;"><span lang="en-US">This section shortly describes abbreviations and acronyms used in the document.</span></span>

<table border="1" cellpadding="1" cellspacing="0" id="bkmrk-abbreviation-descrip" style="width: 978px; height: 312.7px;" width="712"><thead><tr style="height: 35.3875px;" valign="TOP"><td bgcolor="#1C1E3F" style="width: 253.6px; height: 35.3875px;" width="353"><span style="font-family: Lato; color: #ecf0f1;">**Abbreviation**</span>

</td><td bgcolor="#1C1E3F" style="width: 585.6px; height: 35.3875px;" width="353"><span style="font-family: Lato; color: #ecf0f1;">**Description**</span>

</td></tr></thead><tbody><tr style="height: 35.3875px;" valign="TOP"><td style="width: 253.6px; height: 35.3875px;" width="353">**<span style="font-family: Lato; color: #000000;">SDK</span>**

</td><td style="width: 585.6px; height: 35.3875px;" width="353"><span style="color: #000000;">Software Development Kit</span>

</td></tr><tr style="height: 35.3875px;" valign="TOP"><td style="width: 253.6px; height: 35.3875px;" width="353">**<span style="font-family: Lato; color: #000000;">API</span>**

</td><td style="width: 585.6px; height: 35.3875px;" width="353"><span style="color: #000000;">Application Programming Interface</span>

</td></tr><tr style="height: 35.3875px;" valign="TOP"><td style="width: 253.6px; height: 35.3875px;" width="353">**<span style="font-family: Lato; color: #000000;">IBAN</span>**

</td><td style="width: 585.6px; height: 35.3875px;" width="353"><span style="color: #000000;">International Bank Account Number</span>

</td></tr><tr style="height: 35.3875px;" valign="TOP"><td style="width: 253.6px; height: 35.3875px;" width="353">**<span style="font-family: Lato; color: #000000;">OS</span>**

</td><td style="width: 585.6px; height: 35.3875px;" width="353"><span style="font-family: Lato; color: #000000;">Operative System</span>

</td></tr><tr style="height: 35.3875px;"><td style="width: 253.6px; height: 35.3875px;">**<span style="font-family: Lato; color: #000000;">IMS</span>**

</td><td style="width: 585.6px; height: 35.3875px;"><span style="font-family: Lato; color: #000000;">IBAN Management Service</span>

</td></tr><tr style="height: 35.3875px;"><td style="width: 253.6px; height: 35.3875px;">**<span style="font-family: Lato; color: #000000;">THC</span>**

</td><td style="width: 585.6px; height: 35.3875px;"><span style="font-family: Lato; color: #000000;">Transaction History Core</span>

</td></tr><tr style="height: 35.3875px;" valign="TOP"><td style="width: 253.6px; height: 35.3875px;" width="353">**<span style="color: #000000;">AP</span>**

</td><td style="width: 585.6px; height: 35.3875px;" width="353"><span style="color: #000000;">Admin Panel</span>

</td></tr></tbody></table>

## <span style="color: #000000;">Terminology</span>

<span style="font-family: Lato; color: #000000;">This section explains a meaning of key terms and concepts used in this document.</span>

<table border="1" cellpadding="1" cellspacing="0" id="bkmrk-abberations-descript" style="width: 933px; height: 493.575px;" width="708"><tbody><tr style="height: 35.4625px;" valign="TOP"><td bgcolor="#1C1E3F" style="width: 254.25px; height: 35.4625px;" width="129"><span style="font-family: Lato; color: #ecf0f1;">**Name**</span>

</td><td bgcolor="#1C1E3F" style="width: 578.95px; height: 35.4625px;" width="573"><span style="font-family: Lato; color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 68.8px;" valign="TOP"><td style="width: 254.25px; height: 68.8px;" width="129">**<span style="font-family: Lato; color: #000000;">IBAN</span>**

</td><td style="width: 578.95px; height: 68.8px;" width="573"><span style="color: #000000;">International bank account number.</span>

<span style="color: #000000;">The IBAN length may vary depending on the country. More detailed information about the IBAN can be found in the [IBAN generating chapter](https://developer.verestro.com/link/323#bkmrk-iban-generating).</span>

</td></tr><tr style="height: 46.6625px;"><td style="width: 254.25px; height: 46.6625px;">**<span style="font-family: Lato; color: #000000;">IBAN prefix</span>**

</td><td style="width: 578.95px; height: 46.6625px;"><span style="color: #000000;">The part of the IBAN that identifies the bank or financial institution. It enables users to generate IBANs.</span>

</td></tr><tr style="height: 63.45px;" valign="TOP"><td style="width: 254.25px; height: 63.45px;" width="129">**<span style="font-family: Lato; color: #000000;">Balance</span>**

</td><td style="width: 578.95px; height: 63.45px;" width="573"><span style="color: #000000;">The current amount in the [Antaca ](https://developer.verestro.com/books/card-issuing-and-core-banking)that is available for use. Each outgoing transfer reduces the balance, and each top-up to the account increases the balance.</span>

</td></tr><tr style="height: 30.4px;"><td style="width: 254.25px; height: 30.4px;">**<span style="font-family: Lato; color: #000000;">Master account</span>**

</td><td style="width: 578.95px; height: 30.4px;"><span style="color: #000000;">This is the account number assigned to the Partner in the bank's system. </span>

</td></tr><tr style="height: 57.6px;"><td style="width: 254.25px; height: 57.6px;">**<span style="font-family: Lato; color: #000000;">Master balance</span>**

</td><td style="width: 578.95px; height: 57.6px;"><span style="color: #000000;">Also referred to as the “[partner balance](https://developer.verestro.com/link/52#bkmrk-partner-balance)”- it is shared with the Partner and the BIN sponsor. Both credit and deposit types are available.</span>

</td></tr><tr style="height: 46.4px;"><td style="width: 254.25px; height: 46.4px;">**<span style="font-family: Lato; color: #000000;">Partner</span>**

</td><td style="width: 578.95px; height: 46.4px;"><span style="color: rgb(0, 0, 0);">An institution using Verestro products. Essentially, a Partner can be referred to as a Verestro client.</span>

</td></tr><tr style="height: 46.4px;"><td style="width: 254.25px; height: 46.4px;">**<span style="font-family: Lato; color: #000000;">IBAN Issuing Institution</span>**

</td><td style="width: 578.95px; height: 46.4px;"><span style="color: #000000;">Licensed financial entity that generates and manages IBANs on behalf of its partners, ensuring compliance and settlement with the connected bank.  
</span>

</td></tr><tr style="height: 46.4px;"><td style="width: 254.25px; height: 46.4px;">**<span style="font-family: Lato; color: #000000;">Bank</span>**

</td><td style="width: 578.95px; height: 46.4px;"><span style="color: #000000;">Licensed financial institution that holds and manages funds, processes payments, and provides financial services</span>

</td></tr><tr style="height: 52px;"><td style="width: 254.25px; height: 52px;">**<span style="font-family: Lato; color: #000000;">Currency</span>**

</td><td style="width: 578.95px; height: 52px;"><span style="color: #000000;">Monetary unit- the name of the money used in a particular country or economic region. To see the list of the supported currencies please visit [supported currencies chapter](https://developer.verestro.com/link/323#bkmrk-supported-currencies-1).</span>

</td></tr></tbody></table>

## <span style="color: #000000;">Application components</span>

This chapter describes IBAN Management as a complete solution, divided into all the components that support and are required for managing the IBAN domain. The individual functionalities for which these services are responsible reduce the additional work on your part as a Partner. Processes such as transaction validation, debiting and topping up balances, and saving transaction history per enduser are handled on our side.

[![Components.png](https://developer.verestro.com/uploads/images/gallery/2026-02/scaled-1680-/components.png)](https://developer.verestro.com/uploads/images/gallery/2026-02/components.png)

### <span style="color: #000000;">IBAN Management API</span>

<span style="color: #000000;">A backend component that, by communicating with internal and external services, enables the management of master and virtual accounts, including their creation and the execution of transfers. </span>

### <span style="color: #000000;">Supporting services</span>

The following services are not a direct part of the IBAN Management API implementation. However, they are involved in the processes of creating and issuing IBAN numbers. Additionally, they enable the execution of money transfers and the storage of transfer history.

#### <span style="color: #000000;">Antaca API</span>

<span style="color: #000000;">A backend component responsible for creating and managing balances. Each account must be assigned to a balance in order to receive and initiate transfers. It is possible to automatically generate a virtual account based on a [balance creation ](https://developer.verestro.com/link/52#bkmrk-user-balance)event in Antaca, or manually- using the appropriate API method or through the Admin Panel, which also requires the balance to be created beforehand. The IBAN Management Service also communicates with Antaca to debit or top up the balance of a user, corporation, or Partner.</span>

<p class="callout info"><span style="color: #000000;">Deployment in Antaca is required for bank account generation and transfer execution.  
</span></p>

#### <span style="color: #000000;">Transaction History Core</span>

<span style="color: #000000;">A backend [component ](https://developer.verestro.com/books/transaction-history-api)responsible for storing the history of performed transactions. The history is available in the [Admin Panel](https://developer.verestro.com/books/administration-panel/page/iban-management-administration-panel-overview) as well as directly through the [API](https://developer.verestro.com/books/transaction-history-api/page/technical-documentation-thc-external-api). Configuration in THC is also available, allowing you to receive notifications.</span>

#### <span style="color: #000000;">Admin Panel</span>

<span style="color: #000000;">A tool for Partners to work with Verestro services. The main purpose of Admin Panel is to provide a web-based environment with the ability to manage Partner service actions</span><span style="color: #000000;">. The features available in the Admin Panel within the IBAN service are accessible in a [dedicated section.](https://developer.verestro.com/books/administration-panel/page/iban-management-administration-panel-overview) Depending on operator permissions, it is possible to generate accounts, view generated accounts, monitor transactions, and manage AML-related decisions.</span>

<span style="color: #000000;">The features available in the Admin Panel as part of the IBAN Management Service are available [here](https://developer.verestro.com/books/iban-management). The availability of functionality depends on your role.</span>


## <span style="font-family: Lato; color: #000000;">Application details</span>

The IBAN Management Service enables the execution- receiving and sending-of various types of transfers. The available types depend on the sender’s and recipient’s countries, the transfer currency, as well as the capabilities of the respective bank.

This chapter provides a high-level overview of the integration methods, the differences between banks along with the supported transfer types, and the criteria that define each type of transfer.

<table border="1" id="bkmrk-iban-generating-an-e" style="border-collapse: collapse; width: 100%;"><tbody><tr><td bgcolor="#1C1E3F" style="width: 27.9357%; height: 35.5px;" width="129"><span style="font-family: Lato; color: #ecf0f1;">**Domain**</span>

</td><td bgcolor="#1C1E3F" style="width: 72.0643%; height: 35.5px;" width="573"><span style="font-family: Lato; color: #ecf0f1;">**Description**</span>

</td></tr><tr><td style="width: 27.9357%;">**<span style="color: rgb(0, 0, 0);">IBAN generating</span>**</td><td style="width: 72.0643%;"><span style="color: #000000;">Domain of the solution responsible for generating IBANs using a special algorithm based on the IBAN prefix that Partner received from the Payment Institution.</span></td></tr><tr><td style="width: 27.9357%;">**<span style="color: rgb(0, 0, 0);">IBAN transfer receiving</span>**</td><td style="width: 72.0643%;"><span style="color: #000000;">Domain of the solution responsible for handling incoming transfers to the received IBAN and thus for initiating the process of topping up recipient's balance.</span></td></tr><tr><td style="width: 27.9357%;">**<span style="color: rgb(0, 0, 0);">IBAN transfer sending</span>**</td><td style="width: 72.0643%;"><span style="color: #000000;">Domain of the solution responsible for handling outgoing transfers and thus for initiating the sender's balance charging process.</span></td></tr></tbody></table>

### <span style="color: #000000;">IBAN generating</span>

The basis of the IBAN Management Service is a master account opened in a bank by a payment institution. Depending on the bank, the account is generated based on a prefix received after opening the master account, or it is generated directly by the bank. The IBAN prefix is assigned to your account in the Verestro system during configuration. Each IBAN prefix is created in the context of a specific currency. For example, if you want to have a master account in both PLN and USD, two prefixes will be assigned to your account in our system.


<p class="callout info"><span style="color: #000000;">**Note:** Only one bank account number can be assigned to one balance. The account will be created in the **currency of the balance**.</span></p>

#### <span style="color: #000000;">IBAN structure</span>

<span style="color: #000000;">Each IBAN has a specific structure. The IBAN structure is defined in ISO 13616-1 and consists of:</span>

- <span style="color: #000000;">two-letter ISO 3166-1 country code;</span>
- <span style="color: rgb(0, 0, 0);">two check digits;</span>
- <span style="color: rgb(0, 0, 0);">up to thirty alphanumeric characters for a BBAN (Basic Bank Account Number) which has a fixed length per country and, included within it, a bank identifier with a fixed position and a fixed length per country. </span>

<p class="callout info"><span style="color: #000000;">**Example:** Polish IBAN numbers consist of 2 letters of the country and 26 digits according to the following division PL00123456789090909090909090.</span>  
</p>

<table border="1" id="bkmrk-pl%C2%A0-2-letters-of-the" style="border-collapse: collapse; width: 100%; height: 135.984px;"><tbody><tr style="height: 29.7969px;"><td style="width: 23.381%; height: 29.7969px;">`<span style="color: #000000;">PL </span>`</td><td style="width: 76.7143%; height: 29.7969px;"><span style="color: #000000;">2 letters of the country.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.381%; height: 29.7969px;">`<span style="color: #000000;">00 12345678</span>`</td><td style="width: 76.7143%; height: 29.7969px;"><span style="color: #000000;">2 digits of the checksum and 8 digits tracking a given bank and, for example, it's specific branch - IBAN prefix. Based on this number we will generate bank account numbers for every user in your context.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.381%; height: 29.7969px;">`<span style="color: #000000;">9090909090909090</span>`</td><td style="width: 76.7143%; height: 29.7969px;"><span style="color: #000000;">16 digits tracking a specific account.</span></td></tr></tbody></table>

### <span style="color: #000000;">Transfer funds</span>

After creating a balance and generating an IBAN number, you can perform fund transfer operations. Funds can be transferred in two directions: sending funds to a recipient's bank account and receiving funds into the balance using the assigned IBAN.

Depending on the origin of the IBAN and the countries of the sender's and recipient's accounts, the transfer may be processed as an internal, Elixir, SEPA, or SWIFT transfer. Transfer times may vary depending on the method used. Additional fees may also apply.

<table border="1" cellpadding="1" cellspacing="0" class="align-left" id="bkmrk-bank-available-trans" style="width: 847px; height: 347.2px; border-collapse: collapse; border-width: 1px; border-spacing: 0px;" width="708"><tbody><tr style="height: 48px;" valign="TOP"><td bgcolor="#1C1E3F" style="width: 111.75px; height: 48px;" width="129"><span style="font-family: Lato; color: #ecf0f1;">**Transfer type**</span>

</td><td bgcolor="#1C1E3F" style="width: 413px; height: 48px;" width="129"><span style="font-family: Lato; color: #ecf0f1;">**Condition**</span>

</td><td bgcolor="#1C1E3F" style="width: 174.1px; height: 48px;" width="129"><span style="font-family: Lato; color: #ecf0f1;">**Potential transfer time**</span>

</td><td bgcolor="#1C1E3F" style="width: 147.75px; height: 48px;" width="129"><span style="font-family: Lato; color: #ecf0f1;">**Instant**</span>

</td></tr><tr style="height: 46.4px;"><td style="width: 111.75px; height: 46.4px;">**<span style="color: #000000;">Internal</span>**

</td><td style="width: 413px; height: 46.4px; text-align: justify;"><span style="color: #000000;">The sender's IBAN and the recipient's IBAN indicate the Antaca balance within the same instance.</span>

</td><td style="width: 174.1px; height: 46.4px;"><span style="color: #000000;">Instant</span>

</td><td style="width: 147.75px; height: 46.4px;"><span style="color: #000000;">Yes</span>

</td></tr><tr style="height: 63.2px;"><td style="width: 111.75px; height: 63.2px;">**<span style="color: rgb(0, 0, 0);">Elixir</span>**

</td><td style="width: 413px; height: 63.2px; text-align: justify;"><span style="color: #000000;">The sender’s and recipient’s IBAN must have the currency PLN. Transfers between Polish banks using the Elixir system.</span>

</td><td style="width: 174.1px; height: 63.2px;"><span style="color: rgb(0, 0, 0);">Up to 1 business day</span>

</td><td style="width: 147.75px; height: 63.2px;"><span style="color: rgb(0, 0, 0);">Yes, if the bank supports Elixir Express</span>

</td></tr><tr style="height: 63.2px;"><td style="width: 111.75px; height: 63.2px;">**<span style="color: rgb(0, 0, 0);">SEPA</span>**

</td><td style="width: 413px; height: 63.2px; text-align: justify;"><span style="color: #000000;">Both sender’s and recipient’s IBANs must be in EUR and in countries within the SEPA area. Both banks must participate in SEPA.</span>

</td><td style="width: 174.1px; height: 63.2px;"><span style="color: rgb(0, 0, 0);">Up to 1 business day</span></td><td style="width: 147.75px; height: 63.2px;"><span style="color: rgb(0, 0, 0);">Yes, if SEPA Instant supported</span>

</td></tr><tr style="height: 63.2px;"><td style="width: 111.75px; height: 63.2px;">**<span style="color: rgb(0, 0, 0);"><span style="color: #000000;">SWIFT</span></span>**

</td><td style="width: 413px; height: 63.2px; text-align: justify;"><span style="color: #000000;">Used for international transfers outside the SEPA zone or in currencies other than EUR. Also used if one bank doesn’t support SEPA.</span>

</td><td style="width: 174.1px; height: 63.2px;"><span style="color: rgb(0, 0, 0);">Up to 5 business day</span></td><td style="width: 147.75px; height: 63.2px;"><span style="color: rgb(0, 0, 0);"><span style="color: #000000;">No</span></span>

</td></tr><tr style="height: 63.2px;"><td style="width: 111.75px; height: 63.2px;">**<span style="color: rgb(0, 0, 0);">SORBNET</span>**

</td><td style="width: 413px; height: 63.2px; text-align: justify;"><span style="color: #000000;">Polish high-value domestic transfer system for PLN transactions. Used for large transfers- above 1million PLN.</span>

</td><td style="width: 174.1px; height: 63.2px;"><span style="color: rgb(0, 0, 0);">Instant</span>

</td><td style="width: 147.75px; height: 63.2px;"><span style="color: rgb(0, 0, 0);">Yes</span>

</td></tr></tbody></table>

### <span style="color: #000000;">Integrated Banks</span>

Our cooperation with the payment institution has enabled us to integrate with the banks listed below. This allows us to process transfers ordered by you and your endusers who have accounts generated in Antaca. The list of integrated banks is growing regularly, and we actively invite banking partners to join this cooperation. Please contact us if you are interested in partnering with us in offering IBAN services.

#### <span style="color: #000000;">Supported transfer types</span>

<table border="1" cellpadding="1" cellspacing="0" id="bkmrk-integrated-bank-dome" style="width: 843px; height: 97.1562px;" width="708"><tbody><tr style="height: 35.375px;" valign="TOP"><td bgcolor="#1C1E3F" style="width: 183.672px; height: 35.375px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">Integrated bank</span>**

</td><td bgcolor="#1C1E3F" style="width: 171.297px; height: 35.375px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">Elixir</span>**

</td><td bgcolor="#1C1E3F" style="width: 163.172px; height: 35.375px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">SEPA</span>**

</td><td bgcolor="#1C1E3F" style="width: 187.25px; height: 35.375px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">SWIFT</span>**

</td><td bgcolor="#1C1E3F" style="width: 133.609px; height: 35.375px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">SORBNET</span>**

</td></tr><tr style="height: 30.8906px;"><td bgcolor="#1C1E3F" style="width: 183.672px; height: 30.8906px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">ZEN</span>**

</td><td style="width: 171.297px; height: 30.8906px;">`<span style="color: #ba372a;">Not available</span>`

</td><td style="width: 163.172px; height: 30.8906px;">`<span style="color: #169179;">Available</span>`

</td><td style="width: 187.25px; height: 30.8906px;">`<span style="color: #ba372a;">Not available</span>`

</td><td style="width: 133.609px; height: 30.8906px;">`<span style="color: #ba372a;">Not available</span>`

</td></tr><tr style="height: 30.8906px;"><td bgcolor="#1C1E3F" style="width: 183.672px; height: 30.8906px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">Pekao</span>**

</td><td style="width: 171.297px; height: 30.8906px;">`<span style="color: #169179;">Available</span>`

</td><td style="width: 163.172px; height: 30.8906px;">`<span style="color: #169179;">Available</span>`

</td><td style="width: 187.25px; height: 30.8906px;">`<span style="color: #169179;">Available</span>`

</td><td style="width: 133.609px; height: 30.8906px;">`<span style="color: #169179;">Available</span>`

</td></tr></tbody></table>

#### <span style="color: #000000;">Supported currencies</span>

<table border="1" cellpadding="1" cellspacing="0" id="bkmrk-integrated-bank-pln-" style="width: 868px; height: 96.1875px;" width="708"><tbody><tr style="height: 35.3875px;" valign="TOP"><td bgcolor="#1C1E3F" style="width: 135.538px; height: 35.3875px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">Integrated bank</span>**

</td><td bgcolor="#1C1E3F" style="width: 232.275px; height: 35.3875px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">PLN</span>**

</td><td bgcolor="#1C1E3F" style="width: 222.625px; height: 35.3875px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">EUR</span>**

</td><td bgcolor="#1C1E3F" style="width: 247.762px; height: 35.3875px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">USD</span>**

</td></tr><tr style="height: 30.4px;"><td bgcolor="#1C1E3F" style="width: 135.538px; height: 30.4px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">ZEN</span>**

</td><td style="width: 232.275px; height: 30.4px;">`<span style="color: #ba372a;">Not available</span>`

</td><td style="width: 222.625px; height: 30.4px;">`<span style="color: #169179;">Available</span>`

</td><td style="width: 247.762px; height: 30.4px;">`<span style="color: #ba372a;">Not available</span>`

</td></tr><tr style="height: 30.4px;"><td bgcolor="#1C1E3F" style="width: 135.538px; height: 30.4px;" width="129">**<span style="font-family: Lato; color: #ecf0f1;">Pekao</span>**

</td><td style="width: 232.275px; height: 30.4px;">`<span style="color: #169179;">Available</span>`

</td><td style="width: 222.625px; height: 30.4px;">`<span style="color: #169179;">Available</span>`

</td><td style="width: 247.762px; height: 30.4px;">`<span style="color: #169179;">Available</span>`

</td></tr></tbody></table>

### <span style="color: #000000;">Implementation model</span>

<span style="color: #000000;">The REST API implementation model was created for Partners who want to share the IBAN Management Service solution through server-to-server communication. After integration with the appropriate methods issued by IBAN Management Service your endusers will be able to display their IBANs assigned to their balances and order transfers to potential recipients. In this model, communication is carried out with accordance to the REST protocol- each action is reflected in a specific API method to which you must integrate. Partner authorization is performed by checking the signature in the [<span style="text-decoration: underline;">x509 certificate</span>](https://developer.verestro.com/books/iban-management/page/technical-documentation), which was generated in the context of your Partner account during the onboarding process. REST methods provided by IBAN Management Service are described in the [Technical documentation](https://developer.verestro.com/books/iban-management/page/technical-documentation) chapter.</span>

@startuml  
skinparam ParticipantPadding 30  
skinparam BoxPadding 30  
skinparam noteFontColor #FFFFFF  
skinparam noteBackgroundColor #1C1E3F  
skinparam noteBorderColor #1C1E3F  
skinparam noteBorderThickness 1  
skinparam sequence {  
ArrowColor #1C1E3F  
ArrowFontColor #1C1E3F  
ActorBorderColor #1C1E3F  
ActorBackgroundColor #FFFFFF  
ActorFontStyle bold  
ParticipantBorderColor #1C1E3F  
ParticipantBackgroundColor #1C1E3F  
ParticipantFontColor #FFFFFF  
ParticipantFontStyle bold  
LifeLineBackgroundColor #1C1E3F  
LifeLineBorderColor #1C1E3F  
}  
participant "User" as user  
participant "Partner App" as issuer  
participant "Verestro" as ims  
note right of user: In this case user authentication is Partners responsibility  
user-&gt;issuer: Authenticate user  
user&lt;-issuer: Authentication success  
user-&gt;issuer: Check my IBAN  
issuer-&gt;ims: Get user IBANs  
issuer--&gt;ims: Provide x509 certificate  
ims-&gt;ims: Validate certificate signature  
issuer&lt;-ims: Return user's IBAN  
user&lt;-issuer: Display IBAN to the user  
user-&gt;issuer: Perform money transfer  
note right of user: User provides receiver IBAN in Partner App  
issuer-&gt;ims: Send funds on provided receivers IBAN  
ims-&gt;ims: Order transfer  
issuer&lt;-ims: OK - Transfer ordered  
user&lt;-issuer: Transfer ordered  
@enduml

# Use cases

This section provides a guide to the Use Cases available within the IBAN Management Service.

<p class="callout warning">**Available functionalities vary based on the specific deployment configuration and access rights.**</p>

## Account Management

You have the ability to create and delete bank accounts, as well as retrieve their details based on the balance within the Verestro ecosystem. Virtual accounts generated for your users are directly linked to the balance.

### Bank account creation

This process enables you to generate bank accounts for your users, assigned to balances in a specific currency. Depending on the configuration and permissions, various mechanisms for generating virtual accounts are available:

- **Automatically after balance creation** – once the KYC process is approved and the balance is created, the account will be generated automatically for the user.

![](https://uml.verestro.com/img/XP71Ri8m44Jl_eeLFICLSKC82IXKLIb2RIyzBiaIB99rQZkbgEg_DtP2C07Kd2pFo-piM9YTv1mrPh12RMKaSsIxmZYMd43_NfpqYVg-Ui_AqbondQfKQRYR-w-bJp3Q9LeL7DTKRzgRzIyefMFI_nFlMndjc8o1Ng0R-Yo88u8VCTPQxSzz_5KGytWTMQMlpQs4TknwEIywipTxI0dMAer5KDyrlr2-KKQ0NFRP4eF12xcXXUIR7JVwbLI_8Z_vGcV6SM58Tm0DkCEvwY8mQHZdkIUaCKMRUPgCb_22Z0bbnBRYCdCEZTbYX5v3VnJkRK7BP6j1RVpe0THX8DA4bWmmxM6DARedneqjbUUFgN18TrH56S3KiqTCLDVTKJMbBSEcRC9kfG6gHecAkyNNTiDkzwXFQgCgOYpAJOUDk0po9bGMvn2Whx8M1vQXCzECyBrnaQtBjLoiODbc2yy_aZt6zJyreRpwIhRG7BhvWagrBkX1cZp5mndn1m00)

- **Via API** – use the dedicated method [`POST /secure/bank-accounts`](https://developer.verestro.com/books/iban-management/page/technical-documentation#:~:text=POST,Generate%20bank%20account). To use this method, the balance must be created before attempting to create the account.

<div id="bkmrk-%40startuml-skinparam-" style="text-align: justify;"><div>![](https://uml.verestro.com/img/XP5XQy8m48Q_vrSSxhCmyPkCWJg5WHl2_0CnEMkmlNIN52TZ_tr9McUjbVLJkEVjU-_T2NSmL4gM1QmbUwDCASclfTQ6CXW_YWkVsQ_UEbcFIqj-RdFByB1CNuVFf3faR2lIZMeq7ot6DohB6lb_nMPlr87GEHYrkCFF2aaXV8ifiprU-wHIA-QvhBpblhurwCPkXaimcdtuKuwmjRaMhVNr-RNndMMq9BVxxC1MuvNPuShGtHt_yPvKFwAy-C9WGRfoo0EG3kBZciO8X0pJiamAurpLrRpEfk_m9abcM23vMbSu4Oy7RBAz1xjBtXFOxCC4CfVnPiUWKupIeuOjxYmZ-80vtjHvyBQXgIgL2cDw4Ms6ptMC2SnhGKf0LR4DqMeK98Nhun3w14FZ0El1HH3ULJUmwPP0apW5UHgUqOjnPIvFL__-0W00)</div><div>  
</div></div>- **In the Admin Panel** – by navigating to the section with endusers and their balances, it is possible to generate an account for a specific balance. **This action requires appropriate permissions** (primarily intended for Payment Institutions).

<p class="callout info">In the case of a corporation, a successfully completed **KYB process** is required, as well as **providing the corporation entity with an address** using the [Lifecycle API](https://developer.verestro.com/books/user-lifecycle-card-management-api-sdk/page/technical-documentation).</p>

### Bank account details

The [`GET /secure/bank-accounts`](https://developer.verestro.com/books/iban-management/page/technical-documentation#:~:text=Bank%20Accounts-,GET,/secure/bank%2Daccounts,-Get%20bank%20accounts) allows you to retrieve the full details of a virtual bank account linked to a specific `balanceID`.

Using this method, you can check the status of a generated bank account and display it to your users, allowing them to receive incoming transfers or top up their balance via external transfers. If an enduser initiates an outgoing transfer, the IBAN assigned to the balance from which the funds are being debited will appear as the sender's account number in the transfer history.

### Bank account deletion

You have the option to delete a bank account:

- **Directly**, by using the dedicated method `<a href="https://developer.verestro.com/books/iban-management/page/technical-documentation#:~:text=Generate%20bank%20account-,DELETE,Delete%20bank%20account,-Transfer%20Sending" rel="noopener" target="_blank">DELETE /secure/bank-accounts</a>` – in this case, the balance remains active, and it will be possible to generate a new account linked to the same balance;
- <span style="color: rgb(0, 0, 0);">**[By deleting the balance](https://developer.verestro.com/books/card-issuing-and-core-banking/page/technical-documentation-4Wl#:~:text=Secure%20%2D%20Balance-,DELETE,Delete%20balance,-Secure%20%2D%20Cards)** </span>– in this case, the virtual bank account will also be deleted.

<p class="callout warning">Before removing your balance, remember that the balance is shared by all payment methods, including cards!</p>

## Transfers

The IBAN Management Service allows you to facilitate incoming and outgoing payments for your master account, as well as for your users' virtual accounts.

### Incoming transfers

This functionality enables the enduser to receive transfers. Endusers of your application can share their IBAN with potential payers. This type of transfer tops up the enduser's balance.

When funds are transferred to a virtual bank account, the transaction is processed automatically. To receive notifications about such transfers, appropriate configuration within the [Transaction History Core (THC)](https://developer.verestro.com/books/transaction-history-api) is required.

### Outgoing transfers

By using the [`POST /secure/bank-accounts/transfers`](https://developer.verestro.com/books/iban-management/page/technical-documentation#:~:text=Bank%20Accounts%20Transfers-,POST,/secure/bank%2Daccounts/transfers,-Create%20transfer%20sending) method, you can enable your users to execute transfers, as well as initiate transfers directly from the master balance. The user balance serves as the primary identifier for initiating a transfer. However, for transfers originating from the master balance, both the master balance and the master account are required.

As available transfer options vary depending on the sender and beneficiary details, we recommend using the [`POST /secure/bank-accounts/transfers/options`](https://developer.verestro.com/books/iban-management/page/technical-documentation#:~:text=Create%20transfer%20sending-,POST,/secure/bank%2Daccounts/transfers/options,-Calculate%20transfer%20sending) method. By submitting transfer data before initialization, you can verify the correctness of the input, identify potential error causes, check available transfer options, and determine if any additional fields are required. You can find transfer types [here](https://developer.verestro.com/link/323#bkmrk-bank-available-trans).

## Reporting

At Verestro, we provide various channels for retrieving transfer information. Using the methods and services below, you can verify the status and check the details of your transactions.

### Transfer details

- Use the [`GET /secure/bank-accounts/transfers/{transactionId}`](https://developer.verestro.com/books/iban-management/page/technical-documentation#:~:text=transfer%20sending%20options-,GET,Find%20transfer%20sending,-Technical%20endpoints) method to retrieve full details of a specific outgoing transfer. This returns comprehensive data including `payment data`, `delivery mode`, `payment system`, `receiver` and `status`.
- Use the [`GET /external/transactions/{id}`](https://developer.verestro.com/books/transaction-history-api/page/technical-documentation-thc-external-api#:~:text=transactions%20with%20pagination-,GET,/external/transactions/%7Bid%7D,-Get%20single%20transaction) method to retrieve detailed information about a specific transaction based on its unique identifier.

### Transfer history

Transaction history can be retrieved via the Transaction History Core or monitored directly through the Administration Panel.

- To retrieve and display transaction lists to your endusers, use the [`GET /external/transactions`](https://developer.verestro.com/books/transaction-history-api/page/technical-documentation-thc-external-api#:~:text=Inbound%20API-,GET,/external/transactions,-Get%20transactions%20with) endpoint. This allows for automated, paginated data fetching directly into your application.
- For back-office operations and manual verification, use the dedicated tab in the Admin Panel. Detailed information about the IBAN Management Service functionalities available in the panel can be found [here](https://developer.verestro.com/books/administration-panel/page/iban-management-administration-panel-overview).

### Transfer notifications

Integration with the Transaction History Core enables you to receive notifications for both transfer creation and related status updates. To enable this:

1. **Expose an endpoint:** you must expose a dedicated [`POST /transaction-event`](https://developer.verestro.com/books/transaction-history-api/page/technical-documentation-thc-external-api#:~:text=POST,/transaction%2Devent) endpoint on your server.
2. **Receive event**: when a transaction status changes, our system will send an event to your endpoint.
3. **Fetch details:** each event contains a unique identifier. Use this ID to call the [`GET /external/transactions/{id}`](https://developer.verestro.com/books/transaction-history-api/page/technical-documentation-thc-external-api#:~:text=transactions%20with%20pagination-,GET,/external/transactions/%7Bid%7D,-Get%20single%20transaction) method and retrieve the full, latest record.

@startuml  
skinparam ParticipantPadding 30  
skinparam BoxPadding 30  
skinparam noteFontColor #FFFFFF  
skinparam noteBackgroundColor #1C1E3F  
skinparam noteBorderColor #1C1E3F  
skinparam noteBorderThickness 1  
skinparam sequence {  
ArrowColor #1C1E3F  
ArrowFontColor #1C1E3F  
ActorBorderColor #1C1E3F  
ActorBackgroundColor #FFFFFF  
ActorFontStyle bold  
ParticipantBorderColor #1C1E3F  
ParticipantBackgroundColor #1C1E3F  
ParticipantFontColor #FFFFFF  
ParticipantFontStyle bold  
LifeLineBackgroundColor #1C1E3F  
LifeLineBorderColor #1C1E3F  
}  
participant "IBAN Management" as ims  
participant "Transaction History Core" as THC  
participant "Partner's Server" as issuer  
ims-&gt;THC: Report performed transfer  
THC-&gt;issuer: Send notification event on the Partner endpoint  
issuer-&gt;THC: Get transaction details by received transaction id  
issuer&lt;--THC: Return transaction details  
@enduml

# Technical documentation

#### Server to server integration

This chapter provides technical information about the integration with IBAN Management Service using REST API integration model.

<p class="callout success">**Tip:** This API requires Mutual TLS authentication. You can use the same certificate for all mTLS-secured APIs exposed by Verestro. If you don't have one, follow this instruction: [Connecting to server-to-server APIs](https://developer.verestro.com/books/connecting-to-our-services/page/connecting-to-server-to-server-apis)</p>

<p class="callout info">In a server-to-server connection, the authentication of the enduser is your responsibility. Our system exclusively authenticates the Partner Instance (the partner application).</p>

@swagger="[https://iban-management.upaid.pl/doc/server.yaml](https://iban-management.upaid.pl/doc/server.yaml)"

# Test guide

This chapter provides guidelines of functionalities offered by IBAN Management Service.

### How to test?

In order to test the functionalities offered by IBAN Management Service, you need to be onboarded. Authorization on beta environment is aslo performed using [x509 certificate authentication](https://developer.verestro.com/books/iban-management/page/technical-documentation#bkmrk-how-to-generate-csr-).

<p class="callout info">**Note:** For tests you should connect url dedicated for beta environment to chosen method.</p>

<table class="tableblock frame-all grid-all spread" id="bkmrk-environemt-base-url-" style="width: 105.357%; height: 78.775px;"><colgroup><col style="width: 36.5816%;"></col><col style="width: 19.4242%;"></col><col style="width: 43.9704%;"></col></colgroup><tbody><tr style="height: 36px;"><td bgcolor="#002060" style="height: 36px; width: 176.5px;" width="353">**<span style="color: #ffffff;">Url</span>**

</td><td bgcolor="#002060" style="height: 36px;" width="353">**<span style="font-family: Lato; color: #ecf0f1;">Method (example)</span>**

</td><td bgcolor="#002060" style="height: 36px;" width="353">**<span style="font-family: Lato; color: #ecf0f1;">Result (example)</span>**

</td></tr><tr style="height: 42.775px;"><td class="tableblock halign-left valign-top" style="height: 42.775px;">https://iban-management.secure-verestro.dev

</td><td class="tableblock halign-left valign-top" style="height: 42.775px;"><div><div>/secure/bank-accounts</div></div></td><td>https://iban-management.secure-verestro.dev/secure/bank-accounts

</td></tr></tbody></table>

<div id="bkmrk-https%3A%2F%2Fiban-managem"></div>### Functionalities

You can call all the methods given below and in the [Technical documentation](https://developer.verestro.com/books/iban-management/page/technical-documentation#:~:text=bkmrk%2Dpage%2Dtitle-,Technical%20documentation,-Server%20to%20server), using the appropriate URL, but during tests, outgoing and incoming transfers will not be performed. This means that it is possible to call the method, but the funds will not be transferred to the recipient's account.

<p class="callout warning">**Important!** Realization of sending and receiving transfers won't be possible during tests. </p>

### Technical documentation

@swagger="[https://iban-management.upaid.pl/doc/server.yaml](https://iban-management.upaid.pl/doc/server.yaml)"