Skip to main content

Overview

Synthetify consists of two main parts: smart contract and SDK. Both of them are in a single public repository on our Github. Most methods and data structures have their equivalent in both of them.

Protocol Program#

This is the core of the project. It's written in Rust using Anchor and running on Solana blockchain. It uses Pyth to get price data.

As it is where the magic happens, it will be the subject of this documentation.

SDK#

This part is written in Typescript as an npm package and is a wrapper for the smart contract. It takes care of low-level aspects, such as signing transactions and storing constant addresses, making writing client code easier.

Data structures are an exact mapping, with the only changes being type and case. Methods called by a user have a corresponding method, that creates instructions, adds them to transaction, signs, and sends it. All methods (including ones used only by admin) have corresponding methods that return just the instruction.