XAPO CRYPTOCURRENCY SOLUTION
Building the core reconciliation engine for a leading cryptocurrency company’s main transactions platform.
Xapo is a Cryptocurrency / Fintech company hailed for being the world’s most secure crypto bank and the single largest custodian of Bitcoin. The company was founded by Wences Casares, one of the most famous entrepreneurs from South America. Casares is a serial entrepreneur who has started multiple financial software companies, resulting in several successful and profitable exits which approach $1 billion. His latest entrepreneurial pursuit was creating Xapo, which is believed to hold as much as $10 billion of the cryptocurrency and has the backing of some of the most influential entrepreneurs in America.
AccelOne architected, developed, and delivered the core reconciliation engine for Xapo’s main transactions platform which integrates all of the banking and cryptocurrency platforms required to effectively execute Xapo transactions. AccelOne competed against many other software development vendors for the privilege to create Xapo’s groundbreaking core system, winning the contract.
“Their level of commitment to the project and our company is truly special. They were willing to collaborate and integrate with other teams. They were always open and flexible. It was amazing. I’d recommend them without hesitation.”
MARTÍN APESTEGUIA / COMPLIANCE MANAGER / XAPO
The competition for the contract was a 2-week long assessment process against other outsource software development vendors. Senior and select members of the AccelOne team attended daily meetings at the Xapo offices to receive instructions and explanations of what Xapo needed. The AccelOne team was asked to present a recommended software architecture, software team configuration, and estimate for the number of work hours needed to build Xapo’s platform.
Additionally, the new platform had to incorporate Xapo’s new business model directive. Their goal was to deliver crypto transactions to serve as the future enabler for transactions between buyers and sellers of all kinds, not exclusively for Bitcoin. They also wanted a quick and easy-to-use platform to attract consumers beyond the early adopters. In order for this to be possible, the platform would have to enable integrations to other financial services and institutions. Ultimately, the software platform would become the hub of all of Xapo’s future transactions, becoming the first of its kind worldwide.
A further challenge was that the prior platform was constructed largely by human operators at Xapo using internal proprietary tools. The entire project presented many challenges for the AccelOne team who hoped their recommendations would impress Xapo’s senior engineers.
After reviewing the various vendor recommendations, Xapo selected AccelOne as the chosen outsource vendor to deliver their platform.
The first step was to onboard the AccelOne team and introduce us to Xapo’s teams and worldwide project stakeholders. AccelOne was then familiarized with the practices and tools used by the rest of the developers, operators, and administrators across the company.
Our team was integrated by a senior solution architect and two senior enterprise-level Python developers into tech stacks that Xapo used which included:
Python 3.6 with the light Flask framework
REST full API to expose process information: Flask Restful plugin
APS Scheduler Python library used for transactions processing and as a foundation for a decoupled transaction processing engine
React.js + Redux for the front-end
The system that our team worked on was integrated with proprietary admin tool of Xapo (Buy Manager) and with a group of Cryptocurrencies Exchanges through the use of their APIs.
There are 3 main environments which host the system:
Development (on the developers workstations)
Staging (For Xapo stakeholders evaluations)
Production (For the final release product)
Everything runs in Amazon Web Services (AWS) infrastructure and 2 main services are used among others:
S3 to store digital assets, all stored data needs to be heavily encrypted
ECS to run the Docker containers with the app
The main challenge of the execution was to organize all the stakeholders from different areas of Xapo and our team to avoid project blockers and to allow a smooth and accurate process integration with the rest of the customer systems.
Before beginning development, a prototype of the process was created to define the logic, rules, parameters, and to simulate possible scenarios. Once the prototype was approved, all the related framework and middleware was created. Lastly the integrations were analyzed and we designed a data driven model to empower a multisource architecture. The transaction processing engine was designed to be a multisource data loader, parser, and interpreter. With extensibility in mind, we integrated Xapo systems, payment networks, and exchanges in a modular way allowing new sources with different levels of initial capabilities going from simple value range and similarity matching to more complex rules.
During the entire project duration, Scrum framework was used to assign tasks and keep track of the progress, milestones, deadlines, and blockers. Orchestration of the interaction with all the rest of Xapo’s resources was key to the success of the project, including constant communication with Xapo’s CTO.
The project was delivered, tested, and deployed on time and within the planned budget. Based on the results of the reconciliation core business project, Xapo decided to continue working with AccelOne’s project team, and also began a long-term engagement extending AccelOne’s resources on a Staff Augmentation basis.