How Sodus works

Index tokens of Robinhood Stock Tokens, priced by Chainlink.

Overview

Sodus makes index tokens out of Robinhood Stock Tokens on Robinhood Chain. Each index is an ERC-20 token backed by a fixed basket of Stock Tokens held in its own contract. One token gives you a share of every stock in the basket.

There are 5 indexes. Each index is a cheap clone of one implementation, and each has its holdings and weights fixed at creation. No function changes what an index holds.

The baskets

IndexHoldings and weights
Sodus Mag 7sMAG7AAPL 14.29% · MSFT 14.29% · GOOGL 14.28% · AMZN 14.28% · META 14.29% · NVDA 14.29% · TSLA 14.28%
Sodus ChipssCHIPNVDA 20% · AMD 20% · MU 20% · INTC 20% · TSM 20%
Sodus MetalssMETLGLD 50% · SLV 50%
Sodus CoresCORESPY 50% · QQQ 30% · GLD 20%
Sodus Crypto StockssCRYPMSTR 50% · CRCL 50%

Minting

You pay USDG. 0.1% goes to the treasury, and the rest is split by the index weights. For each holding the index swaps its part on that stock's Uniswap v3 pool with USDG, all in the same transaction.

Every swap must return at least the Chainlink value of what was paid, less 1.5% and the pool fee. If any one fill is worse, the whole mint reverts and you keep your USDG.

You receive shares for the value the index actually bought, priced at Chainlink. The first mint of an index sets one share to $1. After that, new shares are issued at the index value per share at that moment, so a new mint never dilutes existing holders and never buys in cheap. You can also set a minimum number of shares; the app sets it 3% under its estimate.

Redeeming

For USDG. Your shares are burned and the index sells your part of every holding on its pool, each fill within 1.5% of Chainlink plus the pool fee. 0.1% of the result goes to the treasury, and you set a minimum below which the transaction reverts.

For the stocks. Your shares are burned and your part of every holding is sent to your wallet as Stock Tokens. No swap, no price, no fee. It works at any time, including when the market is closed or a pool is off its price.

Pricing

An index is valued by reading each holding's Chainlink feed on Robinhood Chain through a price adapter, never by the pools. A feed answer older than its allowed age is rejected. The share price is that value divided by the shares.

Stock feeds only move while the US market is open. Outside the session the last price is used, so a mint or redeem for USDG made then fills on the pool against a price that may be days old; the 1.5% check stops it if the pool has moved away.

The 24h moves in the app come from each holding's Uniswap pool on DexScreener, weighted by the index weights. They are a guide, not the index value.

Weights over time

Every mint buys at the fixed weights, and every redeem takes the same share of each holding. Between them, nothing is traded. As prices move, the share of each stock in the index drifts, exactly as if you had bought the basket yourself and held it. Sodus does not rebalance.

What the owner can do

The owner of an index can change the treasury address, the fee (at most 0.5%) and the fill tolerance (at most 3%). That is all. There is no function to change the holdings or weights, pause redemptions, or move the stocks an index holds.

The price adapter can switch a feed only through a public proposal with a delay, so a change is visible on chain before it applies.

Risks

Market risk. An index is exactly as risky as its stocks. There is no hedge and no yield.

Liquidity. The Stock Token pools on Uniswap are small. A large mint or redeem moves them and can revert at the 1.5% check. Split large orders, or redeem for the stocks.

Stock Tokens. Each holding is a Robinhood Stock Token, with the terms and the issuer risk that come with it. They are not offered to US persons.

Smart contracts. Sodus's contracts are new and unaudited. They rely on Uniswap v3, Chainlink and the Stock Tokens. Use only what you can afford to lose.

Contracts

Sodus Mag 7 (sMAG7)0xf21C…E4DA
Sodus Chips (sCHIP)0x3849…DCdF
Sodus Metals (sMETL)0x3D40…14B7
Sodus Core (sCORE)0xf67a…f5c4
Sodus Crypto Stocks (sCRYP)0x2aab…4875
Factory0x072e…1Fc8
Price adapter (Chainlink)0x0b76…1cc6
USDG0x5fc5…d168

Swaps go through the Uniswap v3 router on Robinhood Chain. Open the app