Demo Bank

Find out how to use Akahu's Demo Bank to test your integration

For non-production environments, Akahu offers a Demo Bank connection for application development and testing. Demo Bank can be used for both one-off and enduring connections. It is also possible to connect to Demo Bank in MyAkahu for Personal App development.


Demo Bank is useful for testing purposes, however it does not fully mimic the behavior of live connections. We strongly recommend that you test your application with real institutions before going live.

Connecting to Demo Bank

There are two ways to connect to Demo Bank:

  • For Personal Apps, you can connect by logging in to MyAkahu, navigating to the "Connections" page, and connecting Demo Bank. After Demo Bank is connected to your Akahu account, you must also select and share specific Demo Bank accounts with your Personal App via the "Developers" page.

  • For Full Apps, you can connect Demo Bank during the Akahu OAuth flow. Demo Bank will only be available as a connection for non-production environments.

When connecting to Demo Bank, you'll be prompted to enter a username and password. You may enter any value into these fields to continue. In order to simulate an incorrect credential error, the password "Password1" can be entered.

The next screen will simulate a multi-factor authentication screen by asking a simple math question. You must answer this question correctly to complete the connection flow.

Enduring Consent

If your application is requesting enduring consent in the OAuth flow, the information below is relevant.


The Demo Bank has 4 static accounts:

NameAccount NumberTypeNotes
Demo Checking99-9999-9999999-91CHECKINGA checking account is useful for testing payments
Demo Savings99-9999-9999999-92SAVINGSA savings account that can't make payments
Demo Overdrawn99-9999-9999999-93CHECKINGA checking account that has a negative balance
Demo Kiwisaver99-9999-9999999-94KIWISAVERA KiwiSaver account which cannot make payments

Payments and Transfers

Demo Bank allows you to request payments and transfers with specific amounts to simulate various failure states. Payments and transfers of amounts not listed in the table below will return successful responses.

AmountStatusStatus CodeNotes
5.02ERRORINTERNAL_ERRORAn internal Akahu error
5.03ERRORBANK_ERRORAn unknown bank error
5.10DECLINEDAKAHU_LIMIT_EXCEEDEDAmount exceeds an Akahu-defined payment limit
5.11DECLINEDINVALID_ACCOUNTAccount doesn't have PAYMENT_FROM attribute (payments only)
5.12DECLINEDINVALID_ACCOUNTAccount doesn't have TRANSFER_FROM attribute (transfers only)
5.13DECLINEDINVALID_ACCOUNTDestination account doesn't have TRANSFER_TO attribute (transfers only)
5.14DECLINEDINVALID_ACCOUNTSource and destination are the same account
5.16DECLINEDSINGLE_LIMIT_EXCEEDEDPayment exceeds a bank-defined single payment limit
5.17DECLINEDDAILY_LIMIT_EXCEEDEDPayment exceeds a bank-defined daily payment limit
5.18PENDING_APPROVALN/AForces payment into PENDING_APPROVAL state and triggers a MFA payment flow
5.20SENTN/ASets a 30 second delay on payment processing
5.21CANCELLEDUSER_CANCELLEDSets a 60 second delay then cancels the payment


SupportedNot supported

Identity and parties

Not supported


Not supported


Not supported

One-Off Consent

If your application is requesting one-off consent in the OAuth-like flow, Demo Bank will return a mock identity response. The verify name endpoint is also supported.