Frowning upon the mention of ‘blockchain’ might be a thing of the past, but actually integrating it to a traditional economic system is far from easy. NDAX co-founder, VP and CTO Hussein Hammoud wanted to create a crypto exchange that was backed by banks and met governmental criteria, allowing Canadians to trade their digital assets into paper money. However, the project would have a long list of challenges to tackle in order to fulfill that role effectively.
While a generic coverage of our great collaboration can be read in the respective case study, in the present article we’d like to go into more detail about the inner workings of NDAX (National Digital Asset Exchange) and how we helped their team deliver such a successful, secure and exciting option in the industry.
Let’s first talk about NDAX’s outer layer. UX/UI design took to heart the concept that the product had to have the look of a powerful yet simple-to-use tool. NodeJS, Typescript and Angular 6 became the pillars of a platform that inspires trust, intuitiveness and allows even the most inexperienced beginners to use their wide array of features. Of course, we subsequently went the extra length to make sure everything was correctly displayed on the app.
Now, one of the key components behind NDAX is AlphaPoint, a white label platform that customers can use to launch their exchanges, brokerages or tokenize their digital assets. As such, AlphaPoint provided us with some foundational elements, but these were built with React. Thus, one of the first issues to solve was understanding how they worked in order to implement them in Angular, the platform’s main language.
Since AlphaPoint communicated with the frontend through an RPC websocket which would output a lot of superfluous information, another issue quickly arose – feeding NDAX refined and relevant data. Through the use of observables and other RxJS utilities, the information was divided into individual streams that the frontend could distill into things such as active trades, chart information, user holdings, and so on. These observable streams improved code readability and reduced complexity.
Some required features weren’t present within AlphaPoint’s framework at the time of developing the project, so we built our own backend to have more functionalities. One external feature implemented was exporting trades to PDF. This involved making requests to AlphaPoint’s servers from our backend to collect the list of trades for a given user, then building the PDF file with all the movements.
But what about safety? Part of what sets NDAX apart from other crypto exchanges is its strong commitment to transparency and security. The product is registered with FINTRAC (Financial Transactions and Reports and Analysis Centre of Canada) and Revenue Québec as a Money Service Business (MSB), besides being subject to several anti-crime laws and regulations.
Honoring such a responsibility required us to employ a multi-layered security approach that includes SSL encryption and two-factor authentication. Other NDAX security measures include constant monitoring, protection against DDoS, hot wallet MPC protection technology and cold storage of digital assets. NDAX complemented this with internal control measures related to access, employee trust and financial asset reconciliation.
Another feature we had to implement was a KYC (Know Your Customer) process, which verifies a user’s identity when opening an account and over time. For this we used a third-party KYC framework which we integrated into the platform, which in turn provided an iFrame that was added to the site – this allows users to submit their personal data directly to the third-party service. We then received updates from the KYC framework via webhooks and, upon approval, would update the user’s verification stage within AlphaPoint’s servers.
But NDAX not only had to be safe – it was critical that it provided users with support 24/7. Live chat and other ways to communicate concerns or provide assistance were implemented just as thorough testing of the platform itself was conducted. Bugs or issues that emerged, some coming from AlphaPoint, were fixed or stabilized over time.
NDAX caters to both novice and experienced traders. It offers a user-friendly Quick Buy and Quick Sell feature for first-time buyers, as well as advanced charting and order types for seasoned traders to optimize profits. With low trading fees and extensive cryptocurrency support, it’s an attractive option for entry into the crypto market.
Users have complete control of their assets, something that is supported by daily and weekly payouts, plus flexible lockup and unstaking periods. However, they can also earn up to 12% APY by staking their crypto. NDAX charges the same fee whether the user sends crypto to their wallet or transfers fiat to their Canadian bank account, no matter the amount.
What’s more, NDAX’s relationship with Canadian banks makes depositing and withdrawing Canadian dollars on its platform easy. This is a feature that other Canadian crypto exchanges also offer, but NDAX takes it to the next level with its safety network and guarantees.
As explained in one of our articles, white label solutions can accelerate and simplify the process of building and launching a crypto exchange. However, there are always challenges to face when it comes to a product’s particular vision and context.
From legal hurdles to pure coding difficulties, NDAX remains one of our proudest collaborations and learning experiences. SpaceDev’s intention was to help them make a solid platform and instead we wound up writing a success story where FinTech and the tangible world empower each other.