Get the latest price & market data of 10,000+ cryptocurrencies with no-code

Get the latest price & market data of 10,000+ cryptocurrencies with no-code

Overview

This technical document explains how to view the latest price & market data of 10,000+ cryptocurrencies without having to write any single line of code.

To begin, you need to sign up for a Bubble.io account. While there are other codeless platforms available, we recommend Bubble.io because we have tested this platform for this tutorial.

What We Will Do

  • Set up a Node with QuickNode.

  • Install add-on CoinGecko Price Feed Data.

  • Deploying custom formatter service to retrieve data to Bubble.io.

What You Will Need

What is Bubble.io?

Bubble.io is a web development platform that allows individuals and businesses to build and launch web applications without writing code. Bubble.io uses a visual drag-and-drop editor to help users create complex web applications with ease.

With Bubble.io, users can create a wide variety of web applications, including social networks, marketplaces, e-commerce platforms, and more. The platform allows for the customization of designs, integrations with external APIs and services, and automated workflows.

Creation of our app in Bubble.io

Screenshot of the Bubble.io platform for creating your APP

First, we need to click the "Create an app" button to start :)

After that, you can see this interface, and you need to create these elements:

1.- Dropdown - Cryptocurrencies

2.- Repeating group

You can change the information easily by clicking on the top of the element to change the name.

It is important to set a name for the elements to have a good understanding of the workflow.

Screenshot of Bubble with an rectangle pointing to the dropdown menu where you can select the cryptocurrencies that will be displayed

After creating our dropdown component, we need to retrieve the data from our coins. For this, we need to go to the "Data" section and click on the "Option sets" tab.

We need to create an option set for our dropdown in this tab.

screenshot of Bubble with an arrow pointing to the dropdown menu where you can select the cryptocurrencies that will be displayed.

After creating our option set, we need to define our dropdown attributes, we require to add the attribute "Value".

Adding new attribute to our option set

Once we have our attributes, we can create our options.

Adding new option to our data set

To know the value of every coin, we need to go to CoinGecko and search for our favorite coins ‎😃.

After creating our options, we need to change these options in our dropdown in the following manner:

  • Choices styles -> Dynamic choices.

  • Type of choices -> Select the name of your option set.

  • Choices sources -> Select All and the name of your option set.

  • Option caption -> Select current option's Display.

Defining the settings related to our cryptocurrency dropdown where we retrieve data from the option set

This will allow the dropdown to dynamically display the list of coins from the CoinGecko API, and the selected coin's name will be displayed in the dropdown.

In the repeating group element, you need to uncheck the field “Set fixed number of rows”

After that we need to uncheck the field “Stretch rows to fill vertical space” and in the Layout tab, we need to change to the “Column” option

Screenshot of the Repeating Group component configurations

And you noticed the type of content it’s marked in red, that's because we need to retrieve the data from our API. But don’t worry in the next steps we will retrieve the data 🙂.

We need to go to this section “Plugins” , after that we need to click the button “Add Plugins”, and you need to search for the API Connector plugin.

Screenshot of the Bubble.io platform in the Plugin section

Once you have found the API Connector plugin, proceed by clicking on the "Install" button.

Adding the “API Connector plugin” in the bubble.io platform.

To configure our API connector, we must first obtain our endpoint, to obtain the chain where you can create the endpoint.

Here are the available chains for this endpoint: marketplace.quicknode.com/add-on/coingecko-...

At this moment, I have created an RPC for Polygon Mainnet.

You may have some questions at this moment:

Do I need to create an endpoint for every coin to retrieve the data?

Answer:

No, creating an endpoint using QuickNode and the CoinGecko Price Feed Data add-on will allow you to access the latest price and market data for all the cryptocurrencies available on CoinGecko, without needing to create separate endpoints for each coin.

Screenshot of the QuickNode platform for creating your endpoint

After obtaining our RPC,we need to activate the CoinGecko Price Feed Data add-on:

Coingecko Price Feed Data Add-on

To retrieve the data from CoinGecko in a custom format we need a formatter, because Bubble.io doesn't have this feature, but don't worry i prepared this code for you!, you don't need how to code.

Deploying our custom formatter to retrieve data to Bubble.io

To do this, we will need to download this code.

Open your git terminal and copy the following command:

 git clone https://github.com/irwingtello/formatter-quicknodexcoingecko

After downloading the repository, we need to install the following dependencies:

npm install -g vercel

After installing the dependency to run our project on vercel, we must navigate to our project and follow these commands:

npm install

Then enter this command:

vercel --prod

Upon entering the command, you will be asked for a series of confirmations:

  • You will receive an email and a confirmation that you will accept.

  • It will ask us if we want to launch our webhook and we write "y".

  • It will ask if we want to link to an existing project and we say no "n".

  • It will ask for the name of our project.

  • The path where our project is stored, we hit enter.

  • And we don't modify the default modifications.

Vercel configuration

And that's it! . We will have our service formatter.

We must copy our url that says production, then we add the path that will receive our data /api/formatter:

https://formatter-quicknodexcoingecko.vercel.app/api/formatter

In our vercel account, we will see our service:

Vercel Dashboard

We will click on our webhook and go to the "Settings" option.

And we will look for the "Environment variables" option.

After being in this section, we will need to input our RPC URL.

Vercel Environment variables

After defining our variable, the next step is to redeploy our service. To do this, please follow these steps:

  1. Go to the "Deployments" tab in your service dashboard.

  2. Locate the last deployment.

  3. Click on the three dots next to the deployment.

  4. Select "Redeploy" from the dropdown menu.

  5. Wait for the redeployment process to complete.

Screenshot of the location of deployments at Vercel

Screenshot of the location of the deployments in Vercel, here we are redeploying our solution.

Once our formatter is deployed, we need go to bubble.io in the "Plugin section"

Plugin section in Bubble.io, here we are replacing the attributes to retrieve the information about our price feed.

Next, you will need to construct the request to retrieve the data from CoinGecko Price Feed Data.

The data it's composed by this struct:

Necessary parameters to recover data from our addon

You can review the documentation and you may notice that I made some changes.

Specifically, in the formatter service, I changed the attributes "include_24_vol" and "include_24hr_change" to always be true.

Furthermore, I adapted the response to be compatible with bubble.io, although it's the same concept.

But don't worry, these changes won't affect the workflow if you have other ideas you'd like to try. 🙂

To retrieve our data we need to do these things:

Plugin section in Bubble.io, here we are replaced the attributes to retrieve the information about our price feed.

Once the values for the "currencies" and "coins" keys have been entered, click on the "Initialize call" button to proceed.

In the following steps, a screen displaying the retrieved value for our service will be presented,after that you need to click the “Save” button.

Plugin section in Bubble.io, here we retrieved the data from our price feed.

Once the data has been obtained, navigate to the "Design" section. Then, modify the content type in the repeating group to retrieve the attributes from the data. The resulting display should resemble the following:

  • In the data source field, search for the option "Get data from an external API"

    Design section in Bubble.io, here we are getting the data from our API

  • After that, you will see another option called "Get data from an external API"

    In this field, you need to change the API Provider, we created this provider when we defined our petition.

  • Design section in Bubble.io, here we are defining the type of content in our repeating group.

    Then, you'll see another option:

  • Design section in Bubble.io, here we are changing the content type of the repeating group to retrievedata

    In the pop-up, click on the button "Click to change this repeating group's content type to type retrieve data".

  • In the params "coins", we need to retrieve the param from the dropdown, to do this, please search for this option

  • In the Design section of Bubble.io, we define parameters for our API request."

    After defining the params, the data it's already configured to receive in our repeating group, but we need to retrieve the attributes.

To add a text attribute, you need to drag and drop a text element inside.

We are defining the element's attributes retrieved from assets

  • You can add text inside the repeating group element. Next to the colon, we need to retrieve the first attribute from our data.

  • To do this, you need to select the option 'Current cell's RETRIEVEDATA' from the drop-down menu. After that, the available attributes will appear, and you can select the desired one to display.

  • If you want to retrieve all the data from our service, you need to repeat the same steps for each attribute that you want to display.

  • We are defining the element's attributes retrieved from assets,here we can see the attributes availables

    In my case, I personalized my repeating group like this:

    Example of how i personalized my repeating group

  • To view your results, please locate and click on the 'Preview' button in the menu.

    Here we click on the preview option in the menu to see your result

  • Your site will look something like this!

    Final result

Conclusion

Congratulations on successfully building your price and market data feed app! . We hope this project was a valuable learning experience for you and helped you to further develop your skills in the exciting field of blockchain technology. Keep up the great work and we look forward to seeing what you create next.

We ❤️ Feedback!

If you have any feedback or questions on this guide, let us know. Or, feel free to reach out to us via Twitter or our Discord community server.

We’d love to hear from you!

Author: Irwing Tello
Discord: https://discord.com/invite/ADjtsHVreT
Twitter: https://twitter.com/irwingtello
LinkedIn: https://www.linkedin.com/in/irwingtello/
Email: irwing@dfhcommunity.com
Website: dfhcommunity.com
Youtube: https://www.youtube.com/@irwingtellomx

You can support my work here:
https://www.buymeacoffee.com/irwingtello

BTC: 34kXK9CpTJP1PyHKw2kUD2bt6rtGcG5CHY
EVM Address: 0x8B98F8Ff69d2A720120eD6C71A9Bc5072b8Eb46D
Solana: Ey9oVFHW79giacRZaKxigYjeihMsY7ox8jxc7Hp1sJmS

Did you find this article valuable?

Support Irwing Tello by becoming a sponsor. Any amount is appreciated!