Library
Skip to the guide

9 min read7 sections

How Saturn prices RA and TAZ

The reference price, the labels beside USD prices, and what selling returns today.

Open P2P

In shortSaturn shows RA and TAZ in USD through its pools and SOUL, labelled USD via SOUL, until completed P2P trades for USDC can do better by a published rule. TAZ then follows RA through the RA/TAZ reference pool. Every USD price says where it comes from.

Anchor
RA; TAZ follows through the RA/TAZ pool
Today
USD via SOUL
Switch
a published depth rule
Labels
USD via SOUL, USD via P2P

A USD price has to come from somewhere. Only SOUL has a market price from outside: SOUL/USD from CoinGecko, with exchange fallbacks. Every other token's USD price is worked out from Saturn's own pools, along a route of pools that ends at SOUL. For RA and TAZ that route runs RA to TAZ to KCAL to SOUL, and its thinnest pool holds only about $1,800 on each side, so a modest sale moves it a lot.

Saturn P2P trades RA and TAZ directly for USDC on Base. Those trades are USD prices that people paid with their own money. The reference price uses them once there are enough of them, from enough different people, by the published rule below. Until then it stays on the SOUL route and says so.

The reference price and its labels

LabelWhere the price comes from
USD via SOULWorked out from Saturn's pools through SOUL, then SOUL/USD from CoinGecko. Thin pools on the way mean selling can return much less than the price suggests.
USD via P2PRA and TAZ only, once the published rule has switched them to P2P: from completed RA and TAZ trades for USDC on Saturn P2P. The SOUL route's figure is shown beside it as DEX via SOUL.
USD, no tagSOUL only: SOUL/USD from CoinGecko, with exchange fallbacks.
from poolsA price shown in RA or TAZ instead of USD. It divides two pool prices, so SOUL/USD cancels out, but a token paired with SOUL or KCAL still reaches RA through the thin SOUL route.
  • Tap or click a label anywhere on the site for its explanation.
  • Prices in, in the top bar's controls (in the menu on a phone), shows prices in USD, RA or TAZ. The token list and token pages have the same switch as USD, RA, TAZ.
  • RA is the anchor. Tokens paired with KCAL or SOUL stay USD via SOUL, and KCAL never sets the price of anything else.

The P2P trade average

For RA, Saturn averages the USDC price of completed P2P trades, each weighed by its USDC. Recent trades count most: a trade's weight fades over about a day, and none older than 72 hours counts. TAZ trades count too, turned into RA through the RA/TAZ reference pool's 24-hour average. The average is in use only while every check passes:

  • Enough trading: on mainnet, at least $1,000 of trades in 72 hours (recent ones counting most) from at least 6 trades.
  • Enough people: at least 3 different sellers and 3 different buyers.
  • Nobody dominates: no single address is behind more than a third of the weight. Trades are weighed down until that holds, so with fewer than three people on a side the check cannot pass.
  • Odd trades are left out: a trade more than 25% from the middle price does not count.
  • It agrees with the book: the average sits no more than 10% outside today's best live offers.
  • RA and TAZ agree: when both have trades, their averages in RA terms differ by 15% at most.
  • The RA/TAZ reference pool's 24-hour average is ready.

Devnet asks for less (a few dollars of trades from 4 trades) so the checks can be tried there. The P2P page lists, in plain words, every check that does not pass yet.

TAZ follows RA

TAZ has no average of its own. While RA's price comes from P2P trades, TAZ's is RA's divided by the TAZ one RA buys in the RA/TAZ reference pool (pool 33 on mainnet), averaged over 24 hours. A burst of swaps in that pool barely moves a 24-hour average, so one large trade cannot push the TAZ price around.

The published rule

Saturn shows RA and TAZ in USD through SOUL until P2P can do better by this rule. Every minute Saturn adds up the USDC that live P2P offers would pay or ask within 5% of the reference price, counting only what their makers' balances cover, only makers who have completed a trade from those addresses and who accept the takes they get, at most a third from any one maker, and both sides must be there. When the middle value of that over 24 hours reaches the USD held on the thinnest side of the route through SOUL, the middle value over the last 6 hours is not under three quarters of that route, and the P2P trade average passes its checks, RA's USD price comes from P2P trades and TAZ's from RA through the RA/TAZ reference pool's 24-hour average. It goes back to SOUL if P2P depth over 6 hours falls under three quarters of that route, or the checks fail for 30 minutes. The rule waits 6 hours after it starts, or after a switch back to the SOUL route, before P2P can take over.

  • Depth counts only offers that could really be filled: makers whose balances cover them, who have completed a trade from those addresses and who accept the takes they get.
  • No maker counts for more than a third, so each side needs at least three makers.
  • Going back is quicker than switching over: 6 hours of thin depth, or 30 minutes of failed checks, return the price to the SOUL route.
  • Nobody sets the price by hand. Saturn does not trade or post offers itself: the depth comes from people and their own bots.

When the switch happens

Nobody can switch RA and TAZ to P2P by hand. Saturn checks the published rule every minute on each network, and every switch is recorded. The owner has one off switch, which keeps RA and TAZ in USD via SOUL in the site's token prices whatever the rule says; it cannot turn P2P on. While RA and TAZ are on the SOUL route, P2P takes over at the first check where all of these hold:

  • Over the last 24 hours, the middle value of P2P depth near the reference price has reached the middle value of the USD on the thinnest side of the SOUL route.
  • Saturn has a depth figure for at least 80% of the minutes in those 24 hours, and the newest is at most 10 minutes old. Figures are missing only while Saturn's own sampling is down.
  • The P2P trade average passes its checks now, and passed them for at least 80% of the last 24 hours.
  • The RA/TAZ reference pool's 24-hour average is ready now, and was ready for at least 80% of the last 24 hours.
  • Over the last 6 hours, the middle value of P2P depth is not under three quarters of the SOUL route's, so the price would not go straight back.
  • The rule waits 6 hours after it starts, or after a switch back to the SOUL route, before P2P can take over.

Because the middle values and the shares are taken over 24 hours, P2P has to meet the rule for most of a day before it takes over, on a network where P2P has just opened too. Once P2P is in use, the price goes back to the SOUL route at the first check where any of these holds:

  • Over the last 6 hours, the middle value of P2P depth is under three quarters of the SOUL route's.
  • The P2P trade average has failed its checks for 30 minutes in a row, or the RA/TAZ pool's 24-hour average has not been ready for 30 minutes in a row.
  • The figures stop. When the newest depth figure is more than 10 minutes old, the site shows RA and TAZ in USD via SOUL again at once, without waiting for the next check, and uses P2P again only once fresh figures are back and the rule still says P2P.

Only RA and TAZ ever switch. RA's USD price then comes from completed P2P trades and TAZ's from RA through the reference pool, labelled USD via P2P, with DEX via SOUL beside it. KCAL and SOUL keep the prices they have today: SOUL its CoinGecko price, and KCAL and every token paired with KCAL or SOUL their via-SOUL prices. KCAL never becomes an anchor, and the P2P price is never fed into the route of pools that prices other tokens. Pool values, swap quotes, the USD value of swaps and the site's stats stay on the SOUL route as well, so no pool is ever valued two ways at once.

To see where the rule stands now, open the P2P page, pick RA or TAZ and open How this price is chosen under the reference price (https://ops.saturnx.cc/p2p?token=RA). It shows Using SOUL route or Using P2P, the 24-hour and 6-hour middle values against the SOUL route, what the rule still needs, the last 7 days hour by hour, and the switches in those 7 days. Programs read the same at https://apiops.saturnx.cc/v1/prices/reference (its anchor block) and https://apiops.saturnx.cc/v1/prices/anchor/history.

P2P depth counts only where P2P is open. Mainnet P2P is not open yet, so on mainnet RA and TAZ stay USD via SOUL until it opens and the rule passes there.

What selling returns today

A price is what the last trade paid, not what a sale of any size will get. Next to a token's market cap, Saturn shows what selling $1,000 of it through Saturn's pools returns today, worked out on the live pools along the best route to SOUL, fees and price impact included. When this was written: Selling $1,000 of RA through Saturn's pools returns about $471 today (−53%). Where the loss is large, the token list shows it under the market cap as well.

The reference price is shown for information. It never sets the price of a P2P offer, and nothing that leads to a signature reads it: every lock is checked against the chains and the terms you agreed to. Lending does not use it either: Saturn Lending keeps reading its own reference pool on chain.

Search the library

↑↓ move · Enter open · Ctrl/⌘Enter new tab · Esc close