Connect the bridge between IC and Web2

Project highlights

IC-Data-Platform is a platform for all kinds of data sharing in the Web2 world (DefiLlama/CMC, etc.) to share all kinds of chain data in the IC ecosystem, and provides mapping and conversion between Http interface and WASM interface, so that traditional projects can quickly understand and access the IC ecosystem. It is also convenient for the IC ecosystem project to realize the docking of various data platforms with 0 coding on the basis of ensuring its own existing data services.


Canisters are written in Rust, relying on ic-cdk, serde and other open source libraries to implement this project.

Users of IC ecosystem project first need to publish a data platform canister as an intermediary for external data agent exchange. The management of external data release is realized by configuring interface mapping and data model mapping.

Users from the Web2 world call the http_request function of the canister through Http to realize the http post request (Content-Type=application/json). The data platform canister verifies the identity of the requester and the request parameters (subsequent versions will increase the optimization of data cache and enhance the efficiency of data query). Through interface mapping and data model mapping, the request is forwarded to the canister specified by the IC ecosystem project to obtain data, and then transformed into the required JSON data through the data model mapping, which is returned to the response of Http.

Market entry strategy

Promote the use of IC ecosystem projects through grant, code open source and other means.


This is an open source, technology-sharing project designed to promote interconnection between IC and Web2, so it will not be monetized.

Status of the project

The milestone development of the grant project has been completed, and it is ready to provide a general standardized interface to DefiLlama or CMC (CoinMarketCap) through this project.



Future Plans

In the future, we plan to provide platform services to help various projects release services quickly through simple and efficient front-end pages, and realize the management of forwarding interface, data model and mapping relationship visually and elegantly. Further optimize performance, provide data caching, and reduce the frequency of calls to other canisters. Provide data statistics services, and provide visualization services for the frequency of interface calls, data traffic, cycle consumption, etc. Provide the ability of data integration, realize the complex relationship management of the integration of multiple groups of data, and achieve data integration through this project without writing any code.


Do you think it would be better to call it a “framework” instead of a platform?

Could you also provide step-by-step instructions on how you configured a canister (ex.
i7hvj-riaaa-aaaag-qcuya-cai) with the Data Transformation Platform canisters?

I think the connection between your canister and the Data Transformation Platform canisters is unclear to a user.