Using the Bricknode API is extremely easy, especially in a .NET environment. The following video demonstrates how to build a simple console application to collect customers from an instance of Bricknode Broker and then listing customer numbers.

Good things sometimes take a little time. As founder and CEO of Bricknode I am incredibly proud to compare the first half (H1) of 2021 with H1 2020 and reflect on what we have achieved. With incredible endurance we have taken a long-term view to make sure that we build a sound product foundation before scaling up our sales and marketing activities.

Between H1 2019 and H1 2020 our revenue growth rate was flat, but a year later is now over 40%. At the end of H1 2020, we numbered six full-time employees and now we are a team of more than 30 spread across offices in London, Stockholm and Skövde. How did we do it? We certainly did not do it alone; this has been a team effort together with long-term customers who have stuck with us through thick and thin and believed in us. We have also received great support from past investors and newer ones like Backing Minds.

We operate one of the few cloud-native financial platforms that is mature enough from a product perspective to facilitate most financial operations. Bricknode was always built for the global marketplace with international customers. Our press release from earlier this week announcing our newest customer, TBC Capital (part of TBC Bank), really validates the product that we have created. Even though we have not focused on sales and marketing efforts historically, we onboarded customers, early adopters, in 2011, and generated over SEK 75 million in subscription revenues. This has been reinvested directly into our product.

Recently, we entered into several exciting partnerships , including one with additiv, who just released a white paper describing the huge opportunity within embedded wealth. Over the next few years, Bricknode is going to be on the front line supporting everything from distributors and brokers of financial products to asset managers and family offices.

We like to compare what is currently happening within the financial markets to the PC revolution, where Microsoft managed to capture a piece of every PC sale and build a well-diversified and exciting business. By utilizing Bricknode Core as an operating system, both Bricknode and other software suppliers can build new financial applications in a matter of months, not years!

Speed of execution and delivery is our main benefit and has been a big part of our DNA over these past 11 years. Another important ingredient is our culture in which we show warmth, transparency, openness, and support towards all team members and stakeholders. Behind every business are real people, and we want to operate responsibly and sustainably to ensure we play a meaningful role in our global society and in tackling new challenges.

Introducing brokers commonly enter white label agreements with traditional online brokers in order to facilitate investments for their customers. These setups were popular during the first part of the 21st century but we’re now seeing a shift in favour of omnibus account structures. We’ll explain what these accounts are and why this trend is here to stay. 

A traditional white label setup is where an introducing broker or affiliated agent enters into a reselling agreement with a traditional online broker. The broker provides a separate customer onboarding page and brokerage application for the introducer/affiliate (“IA”) which features the IA’s own branding and logo.  

When the IA signs up a new customer, it is the broker that becomes the legal owner of this end customer and the IA will usually receive some form of remuneration for having introduced the customer to the broker, such as a percentage of any trade commissions. 

The primary benefit of a white label setup is that the broker takes care of everything – from trade execution to back-office operations – on behalf of the IA. This allows the IA to focus on customer service but there are also some downsides. 

Challenges for introducing brokers using white labels 

The main challenges experienced by IA’s using white label brokerages include: 

Overall, the IA builds very little business value through a white label setup and only gains a limited revenue stream.  

So, what alternatives exist for IA’s that would like to build long-term business value whilst maintaining a manageable level of complexity in their business? The answer is omnibus account structures. 

What is an omnibus account?

An omnibus account allows the IA to execute trades on behalf of multiple investors. Because trades are made in the name of the IA, the identities of end customers remain anonymous in the account and the IA maintains full ownership of the customer. 

The nice thing with this structure is that the IA would simply need an investment software platform like Bricknode Broker to keep track of all their customers, transactions and positions. Then they only need to open one omnibus account with one or several brokers. 

Good investment management software can operate with multiple omnibus accounts and so the IA could, for example, set up one account with a US broker to gain the lowest pricing for trading in US-based financial instruments and another account with European brokers for those products.  

The IA is free to set up relationships directly with issuers of financial products or fund companies, for example. They can structure and configure their end customer offering and experience in any way they want, thus removing all of the limitations of a white label offering. 

The digital revolution in investment management

Omnibus accounts will play a big role in the finance-as-a-service revolution where banks and brokers will expand their offerings to be able to keep IA’s as customers in the future. As it becomes increasingly important for IA’s to offer personalised end customer experiences there will be a shift away from white label setups to more flexible and configurable options, enabled by omnibus accounts and cloud software solutions.  

Traditional brokers and banks will in many cases have to accept that they give away the legal ownership of the end customers, and the long-term business value that these generate, to the IAs. On the other hand, omnibus accounts will still enable them to maintain a steady revenue stream. Another positive for the traditional brokers and banks is that they will see the IA as their only customer and do not have to carry the regulatory risk of each end customer that the IA onboards. This should result in greater margins for the omnibus providers going forward. 

Bricknode Broker is a cloud software platform that enables investment managers to easily launch their own investment offering, with automation and licensing solutions in place. To discuss your requirements and find out more about the benefits of omnibus account structures, get in touch today

The Alert Manager, which is available in the Marketplace at Bricknode has just received an upgrade with a new alert type which demonstrates the power of custom fields and how they can be used for expanding the systems of Bricknode.

The new alert is called House Account Balance Alert and is used for sending automated alerts to administrative users of Bricknode Broker. If you want to monitor certain house accounts for balances in cash or financial instruments in the trade or settle dimensions it is now possible to define lower and upper limits of these alerts which can be triggered once per day.

To add new alert settings to an account simply navigate to the account and click edit:

In the section for Custom Fields click the add-button to open the dialogue for adding new content.

The system will ask you to enter the name of the field, which you should name “AlertManager_HouseAccountBalance_Settings” and in the section for Value you should input content that is a valid JSON object. The code snippet below holds the possible settings where the alert has been configured for cash positions in USD and SEK together with a position in a financial instrument. When creating a new custom field you can simply copy the content below and past everything into the value field in Bricknode Broker. There is a built in JSON editor in Bricknode Broker so once you have created the field you can click to edit the field using the JSON icon in front of it.

"CashBalanceAlerts": [
"CurrencyCode": "SEK",
"LowerLimitTradedAmount": 20000,
"HigherLimitTradedAmount": 50000,
"LowerLimitSettledAmount": 20000,
"HigherLimitSettledAmount": 50000
"CurrencyCode": "USD", 
"LowerLimitTradedAmount": 20000, 
"HigherLimitTradedAmount": 50000, 
"LowerLimitSettledAmount": 20000, 
"HigherLimitSettledAmount": 50000 }
"InstrumentBalanceAlerts": [
"InstrumentBrickId": "2a607e20-9164-4963-b321-8a73297d3eab",
"LowerLimitTradedAmount": 10,
"HigherLimitTradedAmount": 100,
"LowerLimitSettledAmount": 10,
"HigherLimitSettledAmount": 100

Lets first explore the cash alerts. The section called CashBalanceAlerts holds what is called an Array of settings for each currency that you would like to activate alerts for.

The USD alert has a lower alert limit in the trade dimension at 20,000 and the same amount for the settle dimension. If the available balance in any of the dimensions goes below 20,000 (inclusive of reservations) an alert will be triggered. The upper alert is set at 50,000 where the reverse logic of the lower alert is true. If you only want to have an alert in the trade dimension and nothing else the other rows can be removed. For example like this:

{ "CashBalanceAlerts": [ 
"CurrencyCode": "USD",
"LowerLimitTradedAmount": 20000,
"LowerLimitSettledAmount": 20000,

The currency is identified by the three-letter ISO currency code while the instrument alerts are mapped to a financial instruments BrickId (BFS Id), this is found at the bottom left of the instrument details in Bricknode Broker.

Once there are alerts configured for accounts you can navigate to the admin users in Bricknode Broker and simply add a custom field for them with the name AlertManager_HouseAccountBalance and the value set to true and these users will be on the receiver list of these alerts.

Being able to offer buying and selling of equities through various apps and FinTech offerings is gaining in popularity and traditional mutual fund brokers is seeing the need for adding single stocks to their universe of investible assets too.

This article builds upon the article called How to get started with Bricknode as a core banking system for current accounts in 30 minutes

Adding the instrument type

The first order of business is to activate the instrument type for stocks, I will navigate to the marketplace and then find the add-on for stocks.

With this add-on enabled I can go on and add stocks to the system, this can be done automatically from a data feed, via API or manually. Bricknode has a feed for reference data (all the basic information about a stock) and end of day pricing data that can be enabled for a system and then all instruments available on subscribed exchanges will be imported into the system and a daily price feed activated.

For demonstration purposes I will add the stock of Apple manually in this article.

There are some pre-requisites that are needed when adding a stock so that things like order routing and TRS reporting can function properly. One of those things are the setting for primary market. Within the “System Data” section there is a selection called Places.

This is the area where I will register the exchanges where the instruments are listed. I will start off by adding Nasdaq US as a market.

Now I can navigate to the instruments section and select Stocks and then simply click the “Create” button to get a new dialogue for creating a new stock instrument.

The first view will look like this.

As can be seen there is a setting called Issuer where I can register the issuer of the stock if I wish, in this case this would be Apple Inc. and if I want to get the full value of the system I can use this granularity but I do not need to work with issuers to simply offer investing in this stock so I will leave it for now.

On the next screen I define some properties for the instrument.

On the last screen I can enter various categorizations like for example risk groups, industry groups etc. Categorizations are highly configurable but outside the scope of this article.

When I click “Create” the instrument will be created and I will be asked if I want to create an Execution Interface.

What in the world is an Execution Interface?

An Execution Interface is a trade route, it defines how orders are going to be executed. If I have activated an integration to a broker or bank I will have that as an available Execution Interface with the relevant settings for that trade route.

In this example I will configure the Manual Execution Interface. Before I do this I will set up a new custody account that will mirror the brokerage account that I am using for safekeeping of the stocks that are bought.

Just as in the previous article the custody account is created from the House View.

Bank 1 will be the Legal Entity that will act as a counterparty to all trades as my broker and thus I need to create a Counterparty Account for this Legal Entity too. I do this by navigating to the Company and then I create the new account of the Counterparty Account Type.

Now I can go back and create the Execution Interface.

Let’s add some data

Finally I will get some historic data for the instrument which I can import via API, files, enter manually or by activating an add-on with end of day data for the instrument, this way I can see a chart and start using historic performance calculations too.

All is now set and as a back-office user I can enter trades on behalf of accounts.

The Financial Advisor with Power Of Attorney for a customer can enter orders too.

And finally the end customer can log on and enter trade orders as well.

Complete order management capabilities are available through our API too for you to build your own customer experiences and automation.

Please get in touch with us to explore your case further!

This is for all you FinTech entrepreneurs who would like to give the likes of Revolut, N26, Lunar and Klarna a run for their money. In this article I will demonstrate how to literally configure a new subscription to Bricknode as a core banking system to start managing current accounts within 30 minutes and at a fraction of the cost that legacy suppliers charge.

We love to empower entrepreneurs so they can bring new solutions to the market at lightning speed.

First I simply signed up for a subscription at and I got the logins for the system the same day.

Now, if I wish I can take care of everything myself or I can ask for help from the customer success team. Starting a current accounts business is extremely easy and this article explains everything that you need to do to get going.

Where will you hold your customers cash?

As a first step you will probably already have established a relationship with a bank, or “Custodian” as we call it, where you have an account for client assets. This account has to be created in the Bricknode system as a custody account so the system knows where the assets are stored in the world outside of Bricknode.

Basically the only concept that you really have to understand before you start is what we call Account worlds and Dimensions, that’s it.

Here is an illustration.

The “Internal accounts” are your individual customers accounts, your partners accounts and could also be your own accounts, we call you the “House”. All the assets that reside in the Internal accounts has to be backed up by assets in the outside world, like cash at a client account at a bank.

In Bricknode Financial Systems (BFS) I have now received access to four interfaces, these are:

In the screenshots that follow I will reference which interface they are coming from with BackOffice, Partner, Customer or API.

Let’s have a first look at BackOffice to set up your first Custody account.

When you first log on you will come to the Dashboard, which you can easily customize with regards to the widgets that you see.

Locate the House View in the upper right corner.

To create a new account simply click on the Create button.

In the resulting dialog I will select Custody Account as the Account Type and I will name the account Bank 1 Client Assets, we are going to store the actual IBAN number of the custody account as a property on the account but it is recommended to include parts of the account number in the label so you can easily identify the account going forward.

Within Bricknode an account can hold any asset so we are not limited to having one account per currency, which a lot of traditional banks seems to be limited to because of legacy systems. We do have to set a base currency on the account though because this is used for calculating account returns in percentage terms, we do not have to deep dive into that here though.

If your bank/custodian limits you to one custody account per currency, no problem, just set up more custody accounts within Bricknode to reflect that.

Now the first custody account is created and I can progress to the next step.

What currencies would you like to accept?

Within Bricknode it is possible to manage any financial asset/instrument that I know of, in this article though I will only discuss traditional currencies. Any account can hold any type of asset but for currencies I want to configure a default custody account for ease of use and I also want to activate a certain number of currencies. Let’s navigate to System Data->Currency Management for this.

Within Currency Management I see that there are 33 currencies available by default but I have set a lot of them to Closed. I have the option to open currencies with different permissions to make them available to BackOffice, Partners and/or Customers.

To start with I have enabled four currencies and I use the same default custody account for all of them.

Setting up the partner and the customer

In this article I am working with a partner relationship where a user called Bricknode Partner is bringing in business and the first customer is called Bricknode User. Creating these users manually in Bricknode is very easy, simply navigate to User Management and create the users through the creation buttons.

Repeat the same process as above for creating the customer manually. Through your own customer facing apps or websites you would be doing this using CreatePersons in our API. If you use DotNet you should get our NuGet package where you have everything already implemented.

Working with the customer account

Let’s navigate to the customer within BackOffice and create a simple account. When you use the API you would implement the function called CreateAccounts for this purpose.

Deposit cash

The transactions relating to deposits and withdrawals would probably come automatically from an integration with a payment service or the custodian but here I will illustrate a manual deposit. Click on the action menu for the account and select Deposit Money.

The resulting dialogue will default to the right custody account and set the Trade Date, Settlement Date and Value Date to today. I have entered a deposit of EUR 1,000.

The balance and the transaction will now show up in the Overview within BackOffice.

The partner perspective

On the customer account I have set up a relationship with the Partner user.

And I have also set up a Power Of Attorney with “View” permission which will enable the Partner to see what is going on in the account. When you use the API you would implement the method called CreatePOAs.

On the dashboard, which the partner can arrange and add widgets to, the customer account can be seen and the related transactions.

By clicking on the customer the partner can drill down into the details.

The customer perspective

If you do not have your own app or website ready you can let your customers log on to the standard customer portal where full interaction can take place and the content can be fully configured by the administrator together with branding.


The final step is the reconciliation of accounts that should occur daily. Remember the Internal and External accounts, the first I will check is the total balance of the Custody Account against the account statement that I get from my bank/custodian. To view this I will navigate to Positions->Cash.

Now I will filter on the transaction dimension Settlement and enter the balance date of what I would like to reconcile and also select Custody Account as the Account Type.

Here I see that EUR 1,000 is present in the custody account which should align with the account statement from the bank/custodian. If it does not I can click on the account and drill down into each transaction to see where the difference comes from.

Now when I know that the External account is fine I want to know if these assets are correctly spread out across Internal accounts too and for that I want to activate the Add-on that we call Reconciliation Manager. By navigating to the Marketplace I can request a trial of this Add-on right away.

The Reconciliation Manager is now activated and available in the House menu.


From the reconciliation overview I can drill down into each transaction if I wish by clicking on the House icon in the list.

Now I am all set and can continue doing business!