V0.10.0 Pounding Polyphemus

We are excited to announce our latest release today! This release lays the groundwork for our rapid expansion plans, both for adding new providers AND new currencies. Right now, we have over 250 currencies uniquely represented in Zabo, which will grow into the thousands over the next few weeks. We can also scale our requests to each underlying provider into the millions. So, without further ado, let’s discuss the critical changes in more detail. As always, full documentation of the Zabo API system is available at https://zabo.com/docs.

Websockets and Webhooks

Websockets and webhooks are now available when accounts connect. Previously we relied on the connect widget window to postMessage back to the parent with the connected account. You can either establish a WebSocket before connecting an account, then receive the account via WebSocket, or give us a webhook URL. This webhook is entered in your Zabo Dashboard, and, if present, we will POST to that URL with account information when a new account is connected. When using the JS SDK, it uses the WebSocket by default now, if available. We have detailed all of this information at https://zabo.com/docs/#connection-request-via-url.

Direct Connect Widget Access

We made the connection process more accessible by explicitly providing the connect URL for your specific application. This URL is also available in your Zabo Dashboard by clicking on Team Settings -> Developer Settings and viewing the Zabo Connect Widget URL section.

Currency Data Parsing

As mentioned earlier, our currency support is rapidly expanding. Because of this expansion, we have added new is_parsed fields to Balance and Transaction objects:


Zabo pairs the is_parsed values with amount fields in both of these objects. When the relevant is_parsed field is true, we’ve validated the currency and can vouch for the market value and format of the amount data. If a wallet has a currency that is not well known, and we haven’t explicitly approved it, the is_parsed value will be false. We will still present the data as best we can, but Zabo provides this information directly, at face value. We should have the top 1000+ currencies parsed before too long, at the very least.

New Transaction History Workflow

We updated our transaction history workflow because of our need to scale requests to each underlying provider and add the extra metadata in our objects, such as market value. Sometimes, when fetching transactions, it can take a few minutes (or even a few hours for APIs with limited bandwidth and a lot of currencies) to fully populate an account’s transaction history. We added a delay field to transaction history responses which provide some information on the expected time, in seconds, it will take to gather the account’s history. This delay is an approximate delay because we have no way of knowing how big the account is upfront. The resulting behavior means that the transaction list for a first-time account will come back as an empty array initially, and then be populated with all of the data as we receive it. We plan to push a WebSocket update very soon, so you don’t have to keep polling for this data if WebSockets are available in your client. We will initiate the call and feed transactions through the socket as they are received.

Documentation Update

There was some confusion about the difference between the API Keys and Client ID. We clarified the differences between these a bit more by documenting it at https://zabo.com/docs/#front-end-only-apps.

Feel free to dive into our documentation and discover all of the things the Zabo API offers, and let us know if you find any discrepancies! Have a great day :grin:.

1 Like

Comments welcome too!