How Tacit works.
Stock Tokens crossed buyer to seller at the Chainlink price.
Overview
Tacit is an order book for Robinhood Stock Tokens on Robinhood Chain where buyers and sellers trade with each other at the Chainlink price. A buy order holds USDG, a sell order holds the stock. When the two meet, the stock and the USDG change hands at the price of the Chainlink feed for that stock, with no pool in between.
That removes the two costs of trading on a thin pool: the pool fee and the price impact of your size. What is left is a fee of 0.05% on what each side receives.
Placing an order
Choose a market, buy or sell, and the amount: USDG for a buy, shares for a sell. The minimum is $1. The tokens move into the book contract and stay there until the order crosses, expires, or you take it back.
Two optional settings protect the order. A limit is the worst price you accept: a buy never crosses above it, a sell never below it. An expiry ends the order at a time you choose; an expired order is skipped and handed back the next time the book reaches it, or when you cancel it.
Crossing
A new order first crosses with the orders already waiting on the other side of the same market, oldest first, as far as it can. Each match trades at the Chainlink price of that moment. Whatever is left of the new order joins the back of its own queue.
Crossing needs a live price. The book reads the Chainlink feed through a price adapter that rejects stale answers and paused tokens, and it also checks that the market's Uniswap pool sits within 1.5% of Chainlink. When the US market is closed, the pools drift from the last Chainlink answer and the check stops crossing; orders simply wait. Moving the pool cannot change the trade price, only pause crossing.
If two orders met while crossing was paused, anyone can call cross on that market once it is live again; it matches the waiting orders with each other at the Chainlink price.
Cancelling and the pool
Cancel returns what is left of your order at once. It needs no price and costs no fee, and nothing can block it.
Send to pool takes what is left of your order and swaps it on the market's Uniswap v3 pool, straight to your wallet. The fill must land within 1.5% of Chainlink plus the pool fee, or the transaction reverts and your order stays as it was.
Fees
0.05% of what each side receives on a cross goes to the treasury: the buyer pays it in stock, the seller in USDG. Placing, cancelling and expiring are free. Sending to the pool pays only the pool's own fee to its liquidity providers.
What the owner can do
The owner can list new markets, close a market to new orders, and set the fee (at most 0.3%), the live-price band and the pool tolerance (each at most 3%). There is no function that moves an order or its tokens. Cancel and send-to-pool work on closed markets too.
Risks
Waiting. An order crosses only when someone takes the other side. It can wait a long time, and the price can move while it waits; use a limit and an expiry.
The oracle. Crosses trade at the Chainlink price. A feed error would trade both sides at a wrong price; the pool check limits this to 1.5% while the pool is honest.
Smart contracts. Tacit is new and unaudited. It is tested on a fork of mainnet with the real feeds and pools. Stock Tokens are not offered to US persons.
Contracts
| TacitBook | 0x274E…dBa5 |
| Price adapter (Chainlink) | 0x495D…F0F9 |
| USDG | 0x5fc5…d168 |
| DELL / USDG pool, 1.00% | 0xc30c…Fc5a |
| USO / USDG pool, 0.30% | 0x0217…D915 |
| GME / USDG pool, 0.05% | 0xE2b4…B126 |
| INTC / USDG pool, 0.30% | 0x2e5a…F56a |
| SLV / USDG pool, 0.30% | 0x8cB7…cb3D |
| MSTR / USDG pool, 1.00% | 0x1757…53EA |
| NVDA / USDG pool, 0.05% | 0xd4EB…14a3 |
| PLTR / USDG pool, 0.30% | 0x8516…54c0 |
| AMD / USDG pool, 0.30% | 0x48D2…a51f |
| GLD / USDG pool, 0.05% | 0xBA2f…5913 |
| CRCL / USDG pool, 0.30% | 0x654E…95a8 |
| MU / USDG pool, 0.30% | 0xd057…35E5 |
| SPCX / USDG pool, 0.05% | 0xc612…0029 |
| TSLA / USDG pool, 0.30% | 0xf4AC…89E3 |
| AMZN / USDG pool, 0.30% | 0x8AC9…79Ef |
| GOOGL / USDG pool, 0.05% | 0x34D0…19b7 |
| AAPL / USDG pool, 0.05% | 0xAae0…2d6D |
| QQQ / USDG pool, 0.05% | 0xD60A…597d |
Swaps to the pool go through the Uniswap v3 router on Robinhood Chain. Open the app