New updates and improvements to Ratio

January 23, 2023

React Native Library

We released a React Native library that provides a simplified integration method for clients that want to integrate Ratio’s web views.  With this React Native library, you will call a single function that kicks off the process to fetch a user session token, sign in with Ethereum, and launch Ratio’s web views inside the native modal sheet.


Earlier versions of the Ratio API relied mostly on user authentication. This makes sense given that end users create accounts directly with Ratio, and Ratio is responsible for maintaining the security of those accounts. All POST calls require a user to be authenticated via their wallet and second auth factor (SMS). Some GET calls, like retrieving crypto prices, can be made without end user authentication

With this refactor all API calls now require client authentication, in addition to the user authentication requirement for the given endpoint.

Core Ledger

We refactored the ledger in preparation for a series of upcoming releases. We decoupled the fiat and crypto parts of the ledger completely and changed when certain transaction components, like our fee, are written to the ledger.  These changes aren’t visible to our clients, since you don’t interact directly with the ledger.  However, this refactor is the first step towards some exciting new features that will enable even more customization of your fiat to crypto payment flows, including the ability to set pricing and attach your own contracts to the Ratio Money Router.


Webhooks are filtered according to user-client mapping. If a user has connected Ratio to more than one client, both will be able to subscribe to events for that user.

  • ACTIVITY_UPDATED - any transaction activity
  • BANK_UPDATED - updates (added, removed, disconnected) to linked bank account
  • KYC_UPDATED - updates to KYC status.  Mostly relevant for when account applications need to be reviewed manually.

Improvements & Fixes

  • Added support for Plaid’s banking login event required webhook.  This alerts us whenever a user’s bank account has become disconnected so that we can guide the user to reconnect their bank account
  • Updated all end user facing emails to be more consistent with in-app messaging and transaction detail views
  • Improvements to the way we fetch transaction history from a user’s linked bank account for the purposes of determining transaction limits
  • Changed the UI of transaction detail screens to be more consistent across all activity item states.  This was especially important for sad-path transaction states

Join 100's Web3 CEOs, Product Managers, Product Designers, and Engineers in our Beta User Group