April 3, 2023

No Fees on Standard ACH

Updates

Ratio is the first and only way to deposit to Web3 with no transaction fees or spreads.

improvements

User Authentication & Account Linking

  • We now support using any combination of user authentication methods from the supported list (wallet, email, phone) in any order.  Previously we required that wallet or email was the first auth factor, with SMS acting as second
  • Our API now has formal support and documentation for linking a new wallet to an existing user account.  If an existing Ratio user attempts to authenticate from an unknown wallet (all of our partners to date are using wallet as the primary auth factor), Ratio will do a lookup on the other auth factor, present two authentication factors to the user, and proceed to link the new wallet to the user’s existing account.  If you are using the API you should review the Account Linking Guide.  We strongly recommend adding support for Account Linking.  If you use our Mobile SDK or Browser Integration there is no work required on your end
  • Middle Name and Occupation are now optional fields when submitting KYC

End User Support and Safety

  • Introduced system generated support tickets mapped to user account flags.  This shortens our response time when user accounts are flagged for review in the KYC, bank account linking, and bank account verification stages of user onboarding
  • Moved phone number risk analysis into the account creation flow. It was previously part of the risk analysis that happens after KYC is submitted.  This change allows us to stop bad actors as well as warn good users about their phone number earlier in the flow
  • Improvements to bank identity verification for multi-part first and last names
  • Added email verification as an asynchronous part of the user account creation flow. User onboarding does not require a verified email, however, a verified  email addresses is required in order to use the self-serve Account Linking flow as well as authenticate with our support team

Mobile SDK & Browser Integration

  • We now support linking a new wallet to an existing user account.  The SDK & Browser integration handle the account linking flow entirely.  There are no changes required on the part of Ratio partners
  • Improved our loading states to reduce some of the jumpiness we had seen in our page transitions
  • Implement new transaction limit reached screen
  • Added a network switcher in the header
  • Updated the dropdown list component
  • Updated icons throughout the SDK

Fixes

February 27, 2023

Switch to Plaid React Native SDK

Updates

The Plaid React Native SDK has a number of advantages over their Webview SDK, including being the best way to properly support OAuth institutions such as Chase and Robinhood. In some cases (ie. Chase) the user will be redirected to their banking app and be able to leverage Face ID / biometric authentication for an even smoother process. In order to support launching the Plaid RN SDK from a webview (Ratio’s current RN SDK leverages webviews), we needed to:

  • added ability to message our webapp from our RN lib
  • added redirectURL and androidPackageName to be consumed by web app. read from query string
  • added a universal link to sample ios app
  • pass redirectURL or androidPackageName to /v1/users/{userId}/banks:requestLink
  • handle bank linking error statuses

improvements

Core Platform

  • Optimized the network fee calculation for ETH purchases
  • Improvements to observability and logging
  • Handling timeouts and re-queuing better for third party dependencies
  • Updated our preliminary risk assessments to include additional risk scores from bank account owner object
  • Operations Tooling
  • System generated support tickets mapped to various user account states.  This allows us to respond to onboarding, bank account linking, and other customer account review scenarios faster
  • Admin endpoint to add/remove user flags and resolve system generated tickets

Web View / SDK

  • Added the ability to manage a linked bank account in Settings.  Refactored bank account linking overall to be more modular / reusable
  • Updated our model for order status based on feedback from partners
  • Optimized the wallet resource creation flow. Now, we automatically create wallet resources for each network during account creation, whereas previously, you had to set up each individually.  Note that these are wallet resources based on the wallet address your user authenticates with.
  • Added Sentry and Mixpanel
  • Delete area code in phone number after receiving an error
  • Ensure user state is captured correctly in create account flow
  • Polish
  • Disabled scrolling up on screens; where possible.  IOS still makes this challenging in a RN webview
  • General spacing improvements on secondary buttons
  • Removed black underline on form fields
  • Made the check box on the agreements page stick to bottom of page above button
  • Update address validation typeface
  • Autocapitalize form inputs (ie. first name, last name)
  • Optimized formatting of transaction history list items
  • Optimized polling process on user account creation step

Fixes

Web View / SDK

  • Bug fixes
  • Fixed the missing asset icon on order placed screen
  • Better handling for uncaught network errors

February 8, 2023

Ratio Money Router

Updates

Ratio Money Router

This cycle we released new wallet management infrastructure and contracts to power our crypto payment operations.  This release is the foundation for what we call the Ratio Money Router; a system that will eventually allow clients to bring their own smart contracts and create highly programmable payment flows from USD to contract interaction. Today, the Ratio Money Router supports transfer (USDC) and swap (ETH, MATIC) functions.

Test Data Improvements in Staging

We will be launching a comprehensive sandbox environment in the Spring.  In the meantime, partners are using a combination of our staging environment and production in order to build and test their integrations.  This cycle we added some flagging and fake crypto data to the staging environment to make it easier to test transactions.  Lots more to come over the next few months as we build and release the first version of our dedicated sandbox environment.

improvements

Web View / SDK

  • Added the following callbacks to our React Native library
  • onLogin - provides the client with a userID so that they can monitor for Webhooks (ie. KYC status, transaction status) for that user
  • onTransactionComplete - provides the userID with the RatioOrderStatus object so that you can redirect the user to the appropriate place in your application
  • onHelp - allows the client to customize the support experience by redirecting the user to a page or specific channel like email
  • Added the Ability for the user to select network from the Buy Crypto screen.  Previously, we as
  • Polish
  • Changed Zip Code field default to numeric keypad
  • Removed unnecessary toast “success” messages
  • Updated notification styling to remove drop shadows
  • Changed date format to mm/dd/yyyy
  • Removed decimals from some numbers (ie. account limits)
  • Added Client ID to event properties in Mixpanel so that we can provide client facing analytics dashboards
  • Formatting improvements on Phone and SSN fields

General / API

  • Creating additional user flags for more granular support queuing and sad path handling in the API and web views / SDK
  • Refactor Plaid integration for better handling of PRODUCT_NOT_READY errors, which can occur when a users transaction history needs to be populated for the first time
  • Added support for new transactional email types

Fixes

January 18, 2023

Launch

Updates

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.

Authentication

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

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

  • 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 state

Fixes

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