Skip to content
View Voxelithicag's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report Voxelithicag

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Voxelithicag/README.md
Voxelithic

Six venues. One book. Best price or nothing.

The liquidity layer for Robinhood Chain.

Site X Chain 4663 Verified Fee API


One equity trades in twenty-odd pools across six venues on chain 4663 — quoted in dollars, in wrapped ether, and in other equities. Voxelithic folds them into one book and routes into the best of them. The router then compares what lands against what you signed, and reverts if it is short.

From scattered pools to one fill

From scattered pools to one fill

Three steps, none of which asks you to trust the interface: read the chain, ask the pools what they will actually give, then let the contract check the result against what you signed.

Where the numbers come from

Prices are not taken from an indexer. Concentrated pools are read from their own state. Uniswap v4 has no pool contract at all — a pool is a key, and its state lives in one singleton:

slot         = keccak256(abi.encode(poolId, 6));
sqrtPriceX96 = extsload(slot) & ((1 << 160) - 1);

Half the live pools on this chain are v4. Before this was read on-chain their prices came from an indexer that converts cross-equity pairs through its own rate, which produced spreads of three to four percent that did not exist. Reading the singleton cut the widest spread on SPY from 4.74% to 1.25%.

Sizes come from the pools as well. A price without a size is decoration: modelling a swap inside the current tick overstates the output by roughly 0.16% on a one-tick pool, while venues differ from each other by about 0.01% — the model's error is an order of magnitude larger than the thing being measured. So the quoter asks each pool to execute the real swap and, in the callback, reverts with the numbers instead of paying. Nothing settles, nothing is signed, and one eth_call prices a whole book.

What a v4 trade does inside the lock

v4 is not another venue. There is no pool contract to call: a swap takes the singleton's lock and settles its own debts by hand. That is why execution there runs through a second router.

A v4 trade inside the singleton lock

Venues in the book

Venue Kind Priced from Note
Uniswap v3 Concentrated slot0() Deepest dollar books on the chain
Uniswap v4 Singleton extsload Half of every live pool; no pool contract exists
Ramses v3 fork slot0() Renamed callback, answered through the router's fallback
Giga v3 fork slot0() Bounded liquidity — the quoter shows where it runs out
Up v3 proxy slot0() Equity-paired only, so live eth_call is the only proof
Alandale Algebra globalState() Dynamic fee; its getReserves returns balances, not a price

What the router will not do

  • Fill you short. It compares the delivered balance against the minimum you signed, and reverts on anything less.
  • Fill you partially. If a pool cannot absorb the whole order, the trade is refused rather than half-executed.
  • Keep the difference. Output is measured as a balance delta, so dust left on the contract never reaches the next caller.
  • Touch a hooked v4 pool. A hook is arbitrary code in the middle of a swap. The refusal lives in the contract, not in the interface.

Where the fee goes

The router takes 0.30% of every swap inside the trade and sends it to the treasury. It arrives in whatever token you received, not in $VOXEL.

The treasury can do three things with what it holds, and all three end at the same address: buy $VOXEL through pools on an allow list, burn what it bought, and burn any $VOXEL sent to it directly. There is no withdraw function — not for the owner, not for the keeper, not for anyone. The token and the burn address were fixed in the constructor.

The conversion is batched rather than performed inside your swap. The fee on a $100 trade is $0.30; converting it inline would cost more than that in gas, paid by you, and a reverting leg would revert your trade. So it accrues and is burned on a schedule.

totalBurned is the treasury's own counter and only goes up — 47,020 $VOXEL at the time of writing. The current figure, and whatever is still queued for the next burn, is one request away and takes no key:

https://voxelithic.xyz/api/v1/burn

The book, as an API

Every number on the site is served by a public API that takes no key and accepts none. /quote returns the best executable route across the book; /swap returns unsigned calldata and cannot sign or broadcast anything; /receipt shows what a fill actually paid against what every venue would have paid at that block.

https://voxelithic.xyz/api/v1

Deployed on chain 4663

Contract Address What it does
VoxRouter 0x87cD7EbE8c213455e5e5a8554657D5f294a82e64 Execution across v3-style venues, up to three hops
VoxQuoter 0x9616627E871c96e38cb21b9551F62Ed93366bE1B Exact quotes from the pools themselves, one call per book
VoxRouterV4 0x290b9b46308f7a3B80A5F62214B426d3bfAfaab5 Execution in Uniswap v4 — takes the singleton's lock and settles by hand
VoxQuoterV4 0x5858F06894623eF4862103A747074E5AA3436d4F Quotes for v4, whole paths included
VoxRouterMixed 0xda61673A51d6EA2c02C335185399Ddb818bdBC6f Splits one order across both pool families in a single transaction
VoxTreasuryV2 0x25A99c317f3125Fc6cd245197028f49CfF56612E Receives the fee. Can only buy $VOXEL with it and send that to the burn address

All verified on Blockscout. The fee is 0.30% — the ceiling written into the contracts, not a number that can be raised past it. Ownership transfers in two steps.

Settled, not claimed

Trade Route Result
Buy USDG → SPY, one v4 pool 0.000% off the quote
Buy through a path USDG → SPY → NVDA, one lock 0.000% off the quote
Sell SPY → USDG 0.010% off the quote

Nothing was left on the router in any of them.


Every figure published on the site is derived, and each derivation is a command.
If what you compute disagrees with what is published, what is published is wrong.

voxelithic.xyz · @Voxelithicag

Popular repositories Loading

  1. Voxelithicag Voxelithicag Public

    Profile

  2. contracts contracts Public

    Execution layer for Robinhood Chain 4663 — router, quoter, and v4 singleton integration

    Solidity

  3. interfaces interfaces Public

    TypeScript types, contract ABIs and mainnet-verified addresses for Voxelithic on Robinhood Chain (4663)

    TypeScript

  4. book-engine book-engine Public

    Aggregation engine — reads every venue on Robinhood Chain into one order book

    JavaScript

  5. verify verify Public

    On-chain verification tools — prove what the contracts did

    JavaScript

  6. docs docs Public

    Documentation — architecture, integration guide, and protocol spec