πŸ—οΈ[Makers] How to integrate in the RFQ

circle-check

Public Market Making Incentive Program

Rysk allows any participant to become a counterparty by integrating as a market maker into the RFQ system. Market makers connect via WebSocket, subscribe to RFQs for specific assets, and submit signed quotes in real time. Quotes compete during a short aggregation window, and the best price is forwarded to the app. Once accepted, settlement occurs on-chain using Rysk’s accounting and options contracts.

Below are the technical details and instructions required to participate.

RFQ System

The RFQ system operates by enabling buyers to connect to Rysk via a WebSocket and subscribe to requests for specific assets.

When a user submits an RFQ, a 2-second aggregation period begins, during which market makers submit their quotes. The system selects the most competitive quote and forwards it to the user. Market makers receive immediate feedback on whether their submitted quote is currently the best or falls short.

Before finalising a quote, the system verifies that the market maker has sufficient USDT0 deposited in our accounting and settlement contract to fulfil the request.

Before quoting you must deposit some funds either through our UI https://app.rysk.finance/mmarrow-up-right or via one of the packages listed below.

All interactions with Rysk must comply with JSON-RPC specificationarrow-up-right.

If the taker accepts the winning quote, they submit a confirmation to our system, initiating on-chain settlement. The accounting contract then deducts the quoted amount from the market maker’s account and transfers it to the taker. Simultaneously, oTokens representing the options are credited to the market maker’s account within our accounting contract.

Data structures

The following structures will be used as JsonRPC params objects in both requests and responses.

RPC responses and notifications

Upon submitting a quote you either receive:

OK indicating your quote is the best one or

A better quote exists with attached the current best price If a newer quote dethrones yours you receive a skill_issue message with information regarding yours and the new quote.

When a taker accepts your quote you receive a trade message with details of the trade.

Fees

MIN(0.01 UnderlyingPrice, 0.125 * OptionPrice) * Quantity

UI

URL: https://app.rysk.finance/mm/arrow-up-right

Options contract details

The options contracts are fully on-chain, utilising the highly battle-tested and audited Opyn/Rysk Gamma Smart Contracts. Below is a summary of the contract specifications:

Contract Specifications:

  • European-style options

  • Physical settlement – The underlying assets are exchanged at the specified strike price upon expiry.

  • Fully collateralised – No collateral re-hypothecation. Rysk will support alternative asset collateralisation, meaning if an asset is 1:1 redeemable for the underlying and passes specific risk checks, it can be used as collateral. While the strike price remains denominated in the underlying asset, physical delivery will occur against the collateral asset, with this factor expected to be reflected in the option premium.

  • Options priced in USD

  • Symbol:

  • Strike prices and expiry – Matches Deribit’s strike prices and expiries (Friday, 8:00 AM UTC).

For all options, strike prices, tick sizes, and minimum/maximum trade sizes will be determined based on the specific asset and communicated accordingly.

Settlement

All contracts are physically settled. This means that for in-the-money (ITM) call options, the buyer must provide USDT0 in exchange for the collateral asset at expiry and the risk asset in the case of puts. To simplify the process for buyers, they only need to ensure they have sufficient USDT or Asset available on their wallet. The settlement process works as follows:

The buyer should monitor their contracts and assesses the likelihood of them expiring ITM. The positions can be monitored by connecting their wallet on app.rysk.finance/mmarrow-up-right

  • IMPORTANT: On the mm page, you will see several tick boxes next to a position. This MUST be handled before expiry which is 8am UTC on Friday.

    • If the tickbox is ticked it is expected that you will be providing the necessary USD or Asset to physically redeem the option IF it expires ITM. You can either exercise your options all at once or in tranches. (For the early stages, contact the rysk team on our respective chats and make it clear what your intentions are, normally the exercise window will be 60 minutes but for the first time it will be 120 minutes). If you choose to execute in tranches, you just need to let the rysk team know when you are ready and your exercise will be triggered on demand.

    **The next COMPULSORY step to exercise is to approve the necessary amount of USD or ASSET to REDEEM on the dropdown UI shown below on the MMarket page (image shown below). This will approve your funds for spending on https://hyperevmscan.io/address/0x24a44f1dc25540c62c1196FfC297dFC951C91aB4arrow-up-right and the system will be able to exercise for you. You should ideally do this BEFORE expiry.

    FUNDS SHOULD BE LEFT ON YOUR EOA, not inside the rysk account.**

    Eg. You have 5.5 ETH options with 4000 strike in the money and want to redeem all. Then you need to have 5.5 * 4000 = 22000 USDT0 on your EOA on HyperEVM, and at least 22000 approved.

At expiry, the prices of the underlying and collateral assets are determined based on an aggregate index price derived from Stork and Pyth price feeds.

Clients

Python client: https://github.com/rysk-finance/ryskV12_pyarrow-up-right

Typescript client: https://github.com/rysk-finance/ryskV12_tsarrow-up-right

Go cli: https://github.com/rysk-finance/ryskV12-cliarrow-up-right

Note: During the early stages of launch for security reasons, to interact with the systems as a buyer you must first be whitelisted, please contact the team to do so.

Onboarding will include: a call, 2 days of your bot running on testnet and multiple trade executions on testnet.

Telegram for makers and integration questions: https://t.me/+zaGUMXoJyXJmNWFkarrow-up-right

Last updated