🐳

API Documentation

Introduction

Welcome! Here we discuss how our API works and how can you integrate the API into your application to get access to all the DeFi data we have. If you want a general overview of Simplefi, you can check out this link, and if you want to learn more about how you can integrate with Simplefi’s Subgraph, you can click here.

Getting Started

Authentication

The use of our API requires authentication through and Api-key, which for the time being is free.

To create your own personal key, complete our online form here.

Once you’ve obtained an Api-key, you must attach it to the headers of each request under the header apikey.

fetch(url, {
  headers: {
    apikey: <my-api-key>
  }
})

Rate limiting

Each Api-key has a personal usage of 50,000 requests a month.

Each key is also allowed 25 calls per minute, per service.

Errors

Error CodeCode Definition
200sSuccess
400sUser Error
500sService Error

Pusher

Two of our services (Markets Performance and User Data) provide historic wallet data on request. Due to the nature and size of the data, this can sometimes take a little longer to complete than other requests.

For this reason we’ve provided an event based messaging integration through the use of Pusher. Pusher is easy to setup, full documentation and quick start guides can be found here.

All you need to connect to our Pusher instance is our application key:

Application key: 1345862

Through powerful indexing and caching systems, we’re able to provide quick access to wallet historical data which is updated hourly.

When making requests to the two services mentioned above when the historic data needs updating, you will receive a response message letting you know so and advising you to listen to the associated Pusher channel.

Each wallet address will have its own channel and can be subscribed to like so:

const channel = pusher.subscribe(<wallet address>);

All notifications will be send to the relevant Pusher channel under the event data-ready. You can bind a handler function to event like so:

channel.bind('data-ready, callback);

You can expect to receive the follow options in the event:

Once you receive the event, the wallets historic data for that time period has been generated/updated and is ready to be requested.

Core Resources

List of Services:

Pricing Data

Our pricing service provides asset and market prices.

Please see our Pricing Data page for full documentation

Market Data

The Market Data service provides Liquidity pool, farming, asset, chain and protocol information

Please see our Markets Data page for full documentation

User Performance

The User Performance service can be used to provide useful wallet strategy analysis such as overall account performance, strategy specific performance and strategy transactions

Please see our User Performance page for full documentation

User Data

The User Data service provides wallet historical over selected time periods. This includes wallet asset data, Liquidity pool investments and farming.

Please see our User Data page for full documentation

Markets Performance

The Markets Performance service provides valuable market information such as daily volume, APY and ROI

Please see our Markets Performance page for full documentation.