Fig Finance
This is a living document that may be updated periodically.


FigFx (Previously Sollar) V2 Architecture Overview

On-Chain Program

Sollar's on-chain program facilitates the settlement of structured products. Structured product specifications are stored in a ProductAccount. A User owns a Product as defined by the ProductAccount. ProductAccount define a Product's composition such as Option, PerpetualContract, DatedFuturesContract, and/or CashBalance. Product's composing financial instruments are called AtomicInstruments. Each Product has corresponding CollateralRequirement which is defined by each Product's max loss.
ProductAccount parameters are currently set by the team and will eventually be decentralized and determined by the DAO.

Off-Chain Liquidity & Clearing Engine

Sollar liquidity and clearing engine will most likely be brought on-chain through a phased approach, subject to technical, security, and product limitations.
Due to technical limitations of Solana blockchain's run time, Sollar's liquidity and clearing engine are currently off-chain - housed under a combination of AWS and other cloud solution providers. Clearing & liquidity engine has multiple parts. We define some of the functions o

Pricing Engine

Produces and pushes prices of option and derivative to the Sollar on-chain program's PriceAccount. Each individual derivative has own PriceAccount. Similar function of an external oracle.

Trading Engine

Interfaces with RFQs, AMMs, orderbooks, borrowing and lending protocols, perpetual and dated futures exchanges to facilitate trades of spot, option, and or futures contracts.

Risk & Netting Algorithm

Optimization algorithm (of different variations) that has NettingAuthority with Sollar's on-chain program to net and clear the Products that User has purchased. The goal of the optimization is maximization executed volume subject to price execution constraints.

Replication Optimization Algorithm

Optimization algorithm that has ReplicationAuthority . It takes the on-chain program's net inventory position of AtomicInstruments and optimizes to minimize total portfolio delta while subject to constraints of capital minimization and price execution.

FBA Engine

Frequent Batch Auction mechanism that uses a custom implementation of Bonfida's Asset Agnostic Orderbook as underlying infrastructure to batch auction available Products subject to PriceAccount as input and ReplicationAuthority`s output.

Liquidation & Collateral Engine

Due to current lack of cross-margin protocol across different derivative and spot protocols, Sollar implements a custom liquidation and collateral engine to post, cross margin, and clear collateral required by the different ProductAccounts.

Static Replication Venues

Sollar's offchain liquidity engine plugs into the following venues to statically replicate the netted structured product positions:
  • RFQs such as Convergence RFQ,
  • CEX such as Binance, Deribit,
  • DEX such as Serum, AMMs pools, Zeta, and Mango,
  • Borrowing and lending protocols such as Solend, Apricot, and Jet protocol

Smart Contract

Sollar implements a custom version of Solana Lab's Dexterity contract.


Sollar integrates with PsyOption's tokenized European styled options primitive.