Radix Integrating Chainlink to Make DeFi Oracles Easily Accessible to Developers

Radix DLT
6th October 2020

As DeFi continues to grow and reach mass-market appeal, the demands on those applications also grow. We built our next-generation consensus protocol (Cerberus) and secure-by-design development environment to solve many of the issues facing DeFi today. However, this revolution also requires a strong ecosystem of tools, and Radix is committed to ensuring that the developers and users of our network are able to access the best of the best, as soon as possible. 

As part of this mission, we are pleased to announce that Radix will integrate with Chainlink to connect their industry-leading oracle network to the Radix Public Network. Being the go-to oracle provider, Chainlink oracles will give Radix developers access to a wide range of secure, accurate off-ledger data. This data will help our developers as they recreate traditional financial services as decentralized apps, and develop completely innovative DeFi products on Radix. The integration will focus on making Chainlink’s widely used price feeds and more available within the Radix ecosystem, in response to developer needs. 

How Radix Uses Chainlink Oracles 

To build a layer 1 protocol specifically to serve DeFi and tap into the $100Tn still locked in traditional finance, Radix had to re-think several key ways in which DeFi applications are built. Scalability and security are important factors here, but so too is the ease in which DeFi applications are developed and deployed.

To that end, Radix has created a new form of “smart contracts” called “components”. These provide a new method of building DeFi applications that are designed specifically for the needs of finance. Because Components are inherently modular and composable, a special oracle Component can become a seamless gateway to Chainlink data for the Components our developers will build.

A key need for DeFi applications is access to market data. Because not all market data is inherently available within the network itself, Radix dApps will need to access off-ledger sources to obtain such information.  An “oracle” can solve this problem, interfacing with off-ledger APIs to make off-ledger data natively available within Radix.

After reviewing different oracle solutions, we have elected to work with Chainlink to integrate their data oracles to a special oracle interface Component on Radix. While Chainlink can open up a variety of different data types, our immediate focus will be on integrating its widely used price feeds, which currently service many leading DeFi applications like Synthetix, Aave, and Bancor. These data feeds provide our developers with:

  • High-Quality Price Data — All Chainlink Price feeds source data from premium off-chain aggregators, ensuring prices have strong market coverage that reflect all trading environments
  • Decentralized Oracles — Chainlink provides decentralization at both the data source and data delivery level, allowing users to trust that price feeds will be delivered on time and be resistant to any form of manipulation
  • Sybil Resistant Nodes — All Chainlink Nodes servicing its decentralized price feeds are security reviewed and run by leading security teams/blockchain DevOps, providing strong guarantees that the oracle infrastructure is secure, reliable, and highly performant

Through access to high quality market data in a highly available and tamper-resistant manner, Radix developers can start building a wide range of DeFi applications, such as financial derivatives that settle based on asset prices, decentralized lending products that use price feeds to issue fair market loans and maintain collateralization, asset management services that automate trades based on price movements, and much more.

“Giving Radix developers access to a wide range of high quality data is vital to our mission of providing the best infrastructure to build next generation DeFi products,” stated Piers Ridyard, CEO of Radix. “Chainlink’s price oracles enable Radix developers to offload complex and time-consuming oracle infrastructure to industry experts, allowing our ecosystem to focus solely on designing smart contract applications that rearchitect the global finance system.”

“We’re excited to empower developers to build next-generation DeFi applications on Radix’s innovative layer-1 protocol by providing them with secure and reliable oracle solutions,” said Daniel Kochis, Head of Chainlink Business Development. “By making in-demand market data accessible via Chainlink oracles, we’re confident that the Radix platform can support a plethora of new data-driven financial products for both crypto and traditional asset markets.”

Chainlink/Radix Integration

Working with Chainlink, the first phase of integration will include two parts: 1) additions to the Chainlink Node software to allow it to connect directly to the Radix network, and 2) creation of the native Radix “smart contracts” needed to make Chainlink data available on Radix.

On the Chainlink Node side, two modules called an Initiator and an Adapter will let Chainlink nodes “speak Radix” using our libraries – connecting Chainlink to Radix similar to Chainlink’s existing integrations to other blockchains.

Here is a simple view of what we expect the Chainlink/Radix integration to look like:

With these pieces in place in the first phase of integration, Radix developers and dApps will already have access to a world of up-to-date, verified data for atomic use in creating powerful DeFi transactions. In phase 2, we expect to add additional components to enable direct, incremental payment in LINK tokens for custom data queries. This would be enabled via a Radix-native version of the LINK token and a new LockDeposit component that can synchronize spends between Radix’s wrapped LINK token and the native LINK token on the Ethereum network. 

Here’s a little more break-down of what these pieces should look like:

Chainlink Node Additions

These modules allow Chainlink nodes to “speak Radix”, pushing data to and fielding requests from the on-ledger Oracle component that developers and their dApps will access – using “actions”, the interface that Radix components offer to the world.

Chainlink Adapter

  • This module uses the Radix Library to create data-write transactions to the Oracle Component
  • Data-write transactions would use the actions of the Oracle component to store/update pieces of on-ledger data, as well as register certain data as being provided in response to a particular request

Chainlink Initiator

  • This module uses the Radix Library to monitor the Oracle component to detect requests made to it
  • The initiator listens via the Radix Library/Engine for transactions that use the Radix Oracle component to pull the required request data from those action calls.

Enabling Radix Components (Smart Contracts)

Once the Chainlink Adapter and Initiator are “speaking Radix”, the next step is for components (our version of finance-oriented smart contracts) on the Radix network to be listening.

Oracle Component

  • A Radix component that serves as the interaction point for the Adapter and Initiator running on the Chainlink Node.
  • It will interact with data-customer components on the Radix ledger, serving as a repository for data those components wish to access. The Oracle does not, itself, actively talk to these off-ledger modules, but provides the input actions for the Adapter and a repository for request data that the Initiator monitors.
  • A “data read” action would provide components with access to Chainlink data to be made available
  • A “request” action would be used by components to register a specific request for Chainlink data, with required inputs such as the nature of data requested, any additional calculations to be performed to process the data before return, and if a callback should be performed (with a pre-specified callback action interface that the component must implement)
  • A “data write” action would only be usable by Chainlink nodes, allowing them to write out any regularly-updated data or data in response to requests. Request-driven data would include an ID for the request.

LINK Token Component

  • A simple Radix-native token component that acts as a wrapped form of LINK on Ethereum, managed by the LockDeposit Component below.

LockDeposit Component

  • This 2-way bridge contract will effectively allow the synchronized spending of Ethereum-based LINK tokens on the Radix network. Payments in wrapped LINK tokens on Radix would then directly drive payment of LINK on Ethereum to pay for Chainlink requests.

 

About Chainlink:

Chainlink is the most widely used and secure way to power universal smart contracts. With Chainlink, developers can connect any blockchain with high quality data sources from other blockchains as well as real world data. Managed by a global, decentralized community of hundreds of thousands people, Chainlink is introducing a fairer model for contracts. Its network currently secures billions of dollars in value for smart contracts across the decentralized finance (DeFi), insurance and gaming ecosystems, among others. 

 

Chainlink is trusted to deliver definitive truth by hundreds of organizations to provide continuous, reliable data feeds. To learn more, visit chain.link and follow @chainlink on Twitter.

 

About Radix:

Radix is the first layer-one protocol specifically built to serve DeFi. Decentralized finance applications are currently built on protocols that are not fit for purpose, leading to congestion, hacks and developer frustration. Radix changes this by introducing a scalable, secure-by-design, composable platform with a DeFi specific build environment to make it easy to build and launch scalable DeFi applications.