Inspiration

Wanted to create a hybrid service that let's you use REST APIs as well as smart contracts to query oracle data. The product behaves like a SaaS service where you can use an API key which lets you query oracle multiple price feeds from Chronicle without going through the individual authorization.

What it does

A developer can pay for using oracle services and use a single contract to get price feeds from multiple oracles (ETH/USD, BTC/USD, DAI/USD, etc). You are issued an API key which can be used as a way to authorize requests from REST API or Smart Contract

How we built it

Underlying oracles: from Chronicle Payment services: Request Network Contract interfacing: viem.sh, ethers.js DB: Redis Stack: nextjs Design: tailwind

Challenges we ran into

Very hard to do proxying and authentication. A lot of time was spent proxying oracle contracts. Additionally due to typescript settings, I was not fully able to compile the request network sdk inside the webpack bundle and as a result the transactions are in a separate scripts folder (payment.js)

Accomplishments that we're proud of

Everything works!

What we learned

Debugging smart contracts is hard specially if they are only testable on Sepolia

What's next for Kronicle

Generalize the UX for any signed-in user

Built With

Share this project:

Updates