Atomic OTC is open: block trades of tokenized stocks, USDG and any ERC-20, both legs in one transaction. Open the board

Atomic OTC

Hibou runs an OTC desk for any ERC-20 on Robinhood Chain: tokenized stocks, USDG, WETH, Pons tokens and $HIBOU. A maker signs an offer, a taker fills it with one call, and both legs move in that one transaction or nothing moves.

The flow

Approvemaker approves the settlement contract
→
SignEIP-712 offer, no gas
→
Sharepublic board or a private link
→
Fillone call, both legs and the fee

The tokens stay in the maker's wallet until the fill. There is no escrow and no pool: the price is exactly the one the maker signed, so a block trade has no slippage and no price impact. If the maker no longer holds the tokens, or the taker cannot pay, the fill reverts and nothing moves.

The offer

EIP-712, domain Hibou OTC / 1 / chain 4663
Order(
  address maker,       // signs, sends sellToken, receives buyToken
  address taker,       // 0x0 = anyone; an address = private deal
  address sellToken,
  address buyToken,
  uint256 sellAmount,  // total offered
  uint256 buyAmount,   // asked for the whole sellAmount
  uint256 expiry,      // unix seconds
  uint256 nonce,       // cancel(nonce) kills it
  bool    partialFill  // false = all or nothing
)

Makers can be wallets or contract accounts: signatures are checked with ERC-1271 when the maker is a contract, so an agent's smart account can post offers too. Offers posted on the site are checked on read: signature, the maker's balance and allowance, what is left to fill, and the expiry.

Filling

fill(order, signature, sellFill) sends sellFill of the sell token from the maker to the taker, and ceil(sellFill × buyAmount / sellAmount) of the buy token from the taker to the maker, plus the fee. Rounding always favours the maker. Pass the maximum uint256 to take everything left. A private deal can only be filled by its named taker.

Cancelling

cancel(nonce) kills every offer signed with that nonce. cancelUpTo(n) kills every offer with a lower nonce at once. Your desk has both buttons.

Reference prices

The board shows each offer against a reference price: the Chainlink feeds where the chain has one (RHNVDA/USD, RHTSLA/USD), otherwise the stock's USDG pool on Uniswap v3, and the WETH/USDG pool for ETH. A positive premium means the maker asks more than the reference.

Fees

The taker pays 0.2% of their leg on top, in the token they pay with; the maker receives exactly the signed amount. Stakers of 100,000 $HIBOU pay 0.1%. The fee goes to the OTC fee collector, which swaps it to ETH with a minimum output and sends it into the dispatcher, where it takes the same split as the pool fees: 20% to the live module's idea author, 40% to buy and burn $HIBOU, 40% by the live module's weights. $HIBOU paid as a fee is burned directly.

Contracts

HibouOTC0x1F9ccf7467E0B734CBa02a22b9Aa614BCE691962
HibouOTCFees0x747ed7113e1112064e7C6f9067Ab1eE9b70F31ed

The settlement contract holds no funds between calls, is guarded against re-entry and uses SafeERC20. It is made for standard tokens; tokens that take a fee on transfer or rebase are not supported. Its owner can only point the fee at the collector and the discount at the staking check; it cannot move anyone's tokens or change an offer.

Atomic OTC deskSign an offer, share the link, settle both legs in one transaction.