Asset Integration for a Leading Cryptocurrency Exchange Platform
Accelerating asset enablement through Rosetta API expertise.
Business Problem
Accelerate asset enablement by bringing in specialists to work with Rosetta API specifications and quickly integrate assets with their ecosystem.
Output By Tintash
Accelerate asset enablement by bringing in specialists to work with Rosetta API specifications and quickly integrate assets with their ecosystem.
Impact for Client
Beyond delivering integrations, Tintash trained the client's internal teams, optimized asset onboarding, and helped build a high-performing squad across North America to sustain long-term growth.
Client's brief background and business problem
This US-incorporated client was one of the largest and most compliant asset exchanges in the country. They were looking to onboard specialists who could help support and speed up the company's asset integration efforts.
Although the client operated on a remote-first model, there were really very few locations outside of the US, Canada, and Europe from where they allowed their team to work from. However, the team was in the hunt of a very specific skill set - expertise in Rosetta API specifications. Left with few team members who fully understood how Rosetta worked, the client engaged Tintash owing to our deep expertise in this area to help eliminate this resource bottleneck.
How did Tintash deliver?
It took Tintash almost three months to get all the required security clearances and access to the client's systems and machines. Once we started, our team surprised everyone by delivering a complete Rosetta implementation in a mere three weeks. We also helped enable an asset in the quickest ever time in the client's entire experience of asset integrations.
If our first rosetta implementation showcased our technical ability, our first integration highlighted our capacity to collaborate with multiple teams and stakeholders while keeping everyone focused on the common goal. Positively surprised by our team's performance, the client handed over the complete asset integration to us.
Our team did not just go above and beyond to deliver the complete end-to-end integration, we did so while also training the client's engineers. We also interfaced with at least a dozen asset issuers and helped them resolve issues in their Rosetta implementations for a smoother integration.
The third challenge was validating the Rosetta implementations built by the asset issuers for their respective blockchains while also working closely with them to sort out the issues in those implementations. Rosetta being open source doesn't dictate a lot of those things to be required. However, since we had worked on a complete end-to-end integration, our team foresaw those issues and got them resolved before the actual integration kicked off. This helped further speed up the integration process.
At that point, the client's executive and product team started looking up to us to drive the optimization efforts in the asset integration pipeline. Our team conducted the root cause analysis and identified Rosetta completeness as still being the biggest bottleneck.
For the next couple of months, we worked closely with the product team to further solidify the Rosetta specifications, which were internal to our client, and effectively share them with all the new assets we were validating and integrating.
One of such features was the swapping of tokens. Since these swaps were not supported by Fireblocks by default, we worked on integrating Uniswap, a service provider that allowed this swapping. With this successful integration, users could now swap tokens on the Ethereum Blockchain. It was as seamless as creating any other transaction where all the related actions such as ledger and wallet updating would be automatically taken care of.
There was, however, one serious problem we encountered with Uniswap integration - the swapping transactions were taking far too long to complete. We simply couldn't afford an average response time of between 5 to 10 minutes for every such transaction for our users. One way around this problem was to make swaps asynchronous transactions.
What we did was essentially change Uniswap transactions into long running actions. Instead of a completion status of their transaction, users would now get an immediate update that their transaction had been accepted, together with their request IDs. Meanwhile, the transaction would move to long running actions where backend workers would take care of all the callbacks or status updates on users' behalf. And only once a transaction had been completed from Uniswap's end would we let the ledger, the wallets, and the users know that they had received funds in their accounts.
Apart from token swaps, another feature the client requested was having one consolidated vault for all their users' funds. Suppose there are 10 users with $10 worth of funds each in their respective wallets. What the client would do is take all these $100 worth of funds and put them in a central vault, much like what your bank does when you deposit funds in your bank account.
For this, we created a sweeping logic which was again a backend task that ran every defined number of hours. When users received funds, they would end up in their wallets. But as soon as they did, there would be a sweeping action that swept the user wallets into a more secure central vault. On the paper or ledger, users would still own their funds and could do all the transactions. It was just the physical location of the funds that was moved centrally.
What was the final outcome?
To summarize, our first Rosetta implementation in a mere three weeks was very well received and unlocked opportunities for us to work on the E2E Asset Integration of numerous assets. Our team also worked closely with the asset issuers to provide them a smooth onboarding experience while getting them to deliver on our requirements.
At the time of this writing (Q1 '23), Tintash continued to be the only team contracted by the client to work as an integral part in their asset integration. Our team members were all working on different assets with the client's engineers to provide their expertise and help speed up the multiple asset additions.
Another noteworthy contribution was our team's squad-building efforts for the client. We got the mandate to build a squad in the US and Canada. We not only recruited and trained IC5 and IC4 engineers across North America but also successfully onboarded them on our client platforms and systems to deliver yet more value to the client.
