Platform

Functionsif order.filled {   notify("me") }UI
Apps
  • Reporting
  • Visualisation
  • ...
Finico Platform
  • Events
  • Matching Engine
  • Security
  • Authentication
  • API
  • Integrations (Github, Telegram, Slack, ...)
WalletsKubernetesGoogle Cloud Platform

Functions

  1. Something happens...
  2. Your function is called...
  3. Your timeline is updated...

Functions are a simple way to extend the functionality of the platform.

// on currency.created timeline.add(JSON.stringify(data))

You can create your own visualisations, get notified about changes you're listening to or even create your own trading bot. You'll be able to share the functions with others.

Something happens...

This can be anything from when an order is created to when the price of a currency has changed.

Your function is called...

You can register a function to be called when a certain event happens. Using the Finico API you can enrich your UI, get notified on certain events or even create or close orders automatically.

Your timeline is updated...

User Interface

Our user interface is completely open source. Would you like to improve something? Would you like to suggest changes? Then head over to Github and help us build something awesome!

We love clean and simple design. We try our best to make the user interface more intuitive and less cluttered.

Apps

Apps go even further than functions. We allow app creators to extend our platform for your benefit. Want a custom finance report? Choose an app for that.

All Apps have fine-grained permissions and are only allowed to do what you allow them to. The first apps will be run in a secure Finico environment.

Finico Platform

The platform contains everything from secure user authentication to the matching engine. The platform is built with security, sustainability and scalability in mind.

Events

A very crucial part of our platform are events and storing all events in a database. Events represent everything that is happening in our system. Isn't that how everyone does it, you might ask?

Yes and no. Without events, everything would stand still. Things are happening, of course. But it is a very common practice to only store the current state of a system in a database. For example, let's imagine we only stored the current state of your orders. Would we be able to provide you with information about when the order was created and when the order was filled? Probably, because we might have stored these details in the state of the order.

But let's imagine that after a while you would like to know how much time each step in between the order creation and the filling of the order took. How much did it take for the order to be accepted? How much time passed in between partial fills? Maybe you would like to know these things to develop a better trading strategy. Maybe just for fun. But in any case we would not be able to help you out if we only stored the current state of the order. Not because we don't want to make you happy, no, maybe just because no one had thought of this scenario.

And that's where storing all events come in to the rescue. We implemented a concept called event sourcing, which in short is just storing all events that lead to the current state instead of just storing and changing the state. And this means we can do a lot of fun stuff. And provide you with exactly the piece of information you're looking for. Because we just have to go over all events and calculate the things you would like to know.

  • Your order was created.amount: 1000 basecurrency: btc currency: ltc
  • Your order was accepted.
  • Your order was filled.

API

By using the Application Programming Interface (API) of the Finico Platform, Apps and Functions can extend the platform's capabilities. For more information see the API documentation.

Integrations

We all have apps and tools we love. Maybe you can pause for a second and think about your favourite apps? Which ones boost your productivity?

We believe that you should be able to use the apps you love with the platform we build. If you would like to be notified about price changes, new currencies or any other events, why not receive notifications via Telegram? If you want your functions to tell a group of people about patterns your code found in a price chart, why not use Slack or Discord to do so?

  • Telegram
  • Slack
  • Discord

That's why we want to offer integrations for these apps – combined with the custom functions and apps they'll be a very powerful tool to enrich your trading experience. Always stay up to date, place orders from within your favourite messenger or send reminders to your timeline.

We're excited to see the community come up with brilliant ideas of how to use these integrations to create a better experience for everyone.