# SEPA Instant Credit Transfers ## Introduction [SEPA Instant Credit Transfer](https://www.europeanpaymentscouncil.eu/what-we-do/sepa-instant-credit-transfer) (Instant SCT) is a payment scheme that allows customers with bank accounts in a member country of the SEPA Scheme to make and receive SEPA Credit Transfers that are processed in less than 10 seconds. An Instant SCT transaction has a maximum of EUR 100,000. With this feature, your customers can receive and send Instant SCTs from and to any participating bank. This guide explains how to implement this feature into your solution. See the [overview](/guides/digital-banking/sepa-transfers/) page to learn more about SEPA and the different types of SEPA payment schemes. ### Prerequisites You can only implement this feature after you have onboarded your customers with bank accounts and cards. See the [Get started guide](/guides/get-started/digital-banking/onboard-person) for instructions on how to implement the customer onboarding process for Digital Banking & Cards. It is mandatory to implement[Verification of Payee](/guides/digital-banking/sepa-transfers/verification-of-payee/) process before executing any Sepa Instant Credit Transfer. Important - Instant SCT support is not enabled by default for your customers' accounts. Contact your Partner Manager to activate this feature. - Starting from **09.01.2025,** you will be **required** to support **incoming Instant SCTs** in your solution to comply with EU regulations. Please contact your Partner Manager for more information. - Please note that, it is mandatory to implement [SEPA Instant Limits](/guides/digital-banking/sepa-transfers/sepa-instant-limits), before you offer Instant SCT for your custonmers. ### Account reachability Account reachability is essential for Instant SCTs as not all bank accounts can accept this kind of transfer. For example, the bank of the recipient's account must be reachable via the Instant SCT scheme. Otherwise, the transaction will fail. ## How does an Instant SCT work? Once you've enabled this feature, your customers can receive and send Instant SCTs from their accounts to **external** bank accounts as long as such accounts are reachable via the Instant SCT scheme. Below you'll find the product flow and the endpoints and webhooks you need to integrate into your solution. ### Product flow To view a larger version of this diagram, right-click on the image and click "Open in a new tab." ![Diagram: Instant SCT product flow](/assets/sct-instant-product-flow.44913930a1535cd511c5ba41288edb607ccc9ea8339e7a88ddc0c87c14af3d30.8793f243.svg) The product flow consists of the following steps: 1. Your customer can initiate an Instant SCT transaction from your frontend by specifying the transaction details, such as the amount, recipient's IBAN and name, and a description of the transaction. 2. We highly recommend validating the provided IBAN using the [GET Check the reachability of the bank](#get-check-the-reachability-of-the-bank) endpoint to ensure that the bank is reachable via Instant SCT to avoid transaction failure. 3. Call the [POST Create an Instant SCT](#post-create-a-sepa-instant-credit-transfer) to create the transaction. 4. Your customer must authorize the transaction using the [Change request process](/guides/authentication/strong-customer-authentication/#change-request). 5. After successful authorization, Solaris will process the created Instant SCT and make a reservation on the account of the type `SepaInstantCreditTransfer`. At this stage, the transaction status will change to `READY_FOR_CLEARING`. 6. Solaris confirms the transaction with TARGET Instant Payments (TIPS) scheme. 7. After the scheme's confirmation, the SCT status changes to `CLEARED`. Meanwhile, Solaris resolves the reservation on the account, creates a booking on the sender's account of the type `SepaInstantCreditTransfer`, and transfers the funds. 8. The recipient receives the transaction. ### Webhooks Subscribe to the following webhook events to receive updates about your customers' Instant SCTs: - [INSTANT_SEPA_CREDIT_TRANSFER_EXECUTED](/api-reference/onboarding/webhooks/#tag/Webhook-events/paths/instant_sepa_credit_transfer_executed/post): The transaction is successfully executed. - [INSTANT_SEPA_CREDIT_TRANSFER_FAILED](/api-reference/onboarding/webhooks/#tag/Webhook-events/paths/instant_sepa_credit_transfer_failed/post): The transaction has failed. - [BOOKING](/api-reference/onboarding/webhooks/#tag/Webhook-events/paths/booking/post): A new booking has been posted on the account. The webhook payload will indicate the ID of the booking and the ID of the account where the booking was posted. Subscribe to the following webhook events to receive updates about Instant SCTs for reference accounts: - [REFERENCE_ACCOUNT_INSTANT_PAYOUT_DECLINED](/api-reference/onboarding/webhooks/#tag/Webhook-events/paths/reference_account_instant_payout_declined/post) - [REFERENCE_ACCOUNT_INSTANT_PAYOUT_EXECUTED](/api-reference/onboarding/webhooks/#tag/Webhook-events/paths/reference_account_instant_payout_executed/post) ### API reference Visit this [section](/api-reference/digital-banking/sepa-transfers/#tag/SEPA-Instant-Credit-Transfers) to find all endpoints related to the Instant SCT feature. #### GET Check the reachability of the bank Before initiating an Instant SCT transaction, call this endpoint to ensure that the recipient's bank is reachable to avoid transaction failure. **Request URL** ```shell GET /v1/sepa_instant_reachability/{iban} ``` [Click here to view the full API reference.](/api-reference/digital-banking/sepa-transfers/#tag/SEPA-Instant-Credit-Transfers/paths/~1v1~1sepa_instant_reachability~1%7Biban%7D/get) #### POST Create a SEPA Instant Credit Transfer Once you confirm that the bank is reachable, you can create an Instant SCT using the following endpoint. You must add the mandatory fields for the transaction details in the request body. This endpoint triggers the 2FA flow. Your customer must authorize the transaction using the [Change request process](/guides/authentication/strong-customer-authentication/#change-request). **Request URL** ```shell POST /v1/accounts/{account_id}/transactions/sepa_instant_credit_transfers ``` [Click here to view the full API reference.](/api-reference/digital-banking/sepa-transfers/#tag/SEPA-Instant-Credit-Transfers/paths/~1v1~1accounts~1%7Baccount_id%7D~1transactions~1sepa_instant_credit_transfers/post) #### GET Index all SEPA Instant Credit Transfers for an account [Click here to view the full API reference.](/api-reference/digital-banking/sepa-transfers/#tag/SEPA-Instant-Credit-Transfers/paths/~1v1~1accounts~1%7Baccount_id%7D~1transactions~1sepa_instant_credit_transfers/get) Failed transactions will not be available under this endpoint. Please use the [INSTANT_SEPA_CREDIT_TRANSFER_FAILED](/api-reference/onboarding/webhooks/#tag/Webhook-events/paths/instant_sepa_credit_transfer_failed/post) webhook instead. ### Instant SCT for reference accounts To initiate Instant SCT transactions for reference accounts, use the reference account payouts endpoints linked below. To create an Instant SCT to a reference account, you must set the field `instant_payment_rail` to `sepa_instant` in the request body otherwise the transaction will be processed as a standard SCT. Please note that you also have to check the bank reachability for Instant SCTs for reference accounts by calling [GET Check the reachability of the bank](#get-check-the-reachability-of-the-bank) before initiating a transaction. - [Reference Account Payouts API reference.](/api-reference/digital-banking/transactions/#tag/Reference-account-payouts) ### Instant SCT transaction flow The following diagram explains the transaction flow and each status of an Instant SCT: ![Diagram: Instant SCT status flow](/assets/sct-instant-status-flow.dc3079b731717309998816c7c0d66c8628723963247b8f70a49feb502c2dd886.8793f243.svg) | Status | Description | | --- | --- | | `INITIATED` | A SEPA Instant Credit Transfer is successfully created but not yet processed. | | `RESERVED` | A SEPA Instant Credit Transfer is being processed internally by Solaris, and reservations are made to lock funds availability. | | `READY_FOR_CLEARING` | All internal checks are successful, pending the scheme's confirmation. | | `CLEARED` | The transaction was successfully settled, bookings were made on the account, and and the receiving bank confirmed crediting the account. | ## Sandbox testing To simulate a **successful** Instant SCT on Sandbox (i.e., the transaction will be cleared and then created), then send an Instant SCT to the following test account: - IBAN: `DE30110101990000000001` - BIC: `ACCPITRRXXX` To simulate a **failed** Instant SCT (i.e., the transaction will be rejected and therefore not created), then send an Instant SCT to the following test account: - IBAN: `DE30110101970000000002` - BIC: `REJEITRRXXX` If you don't use any of the listed IBANs above, your transaction will be stuck in `READY_FOR_CLEARING`.