Overview
FAQ
Short answers to the first questions about Socket, its hooks, the buyback and SOCKET.
Socket#
How is Socket different from Uniswap?
Socket runs on Uniswap v4. Every pool you trade or provide liquidity in is a v4 pool in Uniswap's PoolManager on Robinhood Chain. Socket adds three hooks (a dynamic fee, a TWAP oracle and range orders), an app that routes only through pools with no hook or a hook on Socket's allowlist, and SOCKET, whose holders vote that list. See Socket on Uniswap v4.
Which network and wallets does Socket use?
Robinhood Chain, an Ethereum layer 2 built on Arbitrum technology, chain ID 4663. Gas is paid in ETH. Any browser or mobile EVM wallet that can add Robinhood Chain works. See Getting started.
Why do I see USDG instead of USDC?
USDG (Paxos Global Dollar) is Robinhood Chain's natively issued dollar stablecoin. USDC bridged to Robinhood Chain arrives as USDG.
Trading#
Why does one pair have several pools?
A v4 pool is its key: two tokens, a fee, a tick spacing and a hook. A pair can have a pool with no hook, a dynamic-fee pool and a TWAP pool side by side. The swap page quotes every route through pools with no hook or a listed hook and picks the best for you, so you don't have to know which is which.
Why does the app ask me to approve Permit2?
Swaps execute through Uniswap's Universal Router with Permit2. You approve a token to Permit2 once, then sign a permit that lets the router spend it for the swap. Native ETH needs no approval.
My swap failed although the quote looked fine. Why?
Either the price moved and the swap would have paid less than your minimum output, or a call in the route reverted, including a hook call. In both cases the whole transaction reverted: nothing was swapped, and you paid only gas.
Why is the fee in a dynamic-fee pool above its base fee?
The pool's hook raises the fee after swaps move the price, and lets it decay back second by second while trading is calm. It never goes above the pool's max fee. See Dynamic fee.
Can a hook take my tokens?
A swap's hook never gets your approval: you approve Permit2 and sign a permit for the router. In a swap, a hook can change what you pay or receive only if its address sets a swap returns-delta flag, and the Universal Router reverts any swap that would pay you less than the minimum output you signed. None of Socket's built-in hooks sets a swap returns-delta flag. See Hooks and permissions.
Does Socket take a cut?
Not from swaps: a swap pays the pool's fee and nothing else. Pools on Socket's built-in hooks keep a buyback share of the LP fees their positions collect, 20% today. When a position collects fees, the hook takes that share and sends it to the Buyback contract, which swaps it toward SOCKET and burns it, so nobody receives it. LPs collect the rest. Pools on External hooks and pools with no hook keep no share. See The buyback.
Hooks#
Can a pool's hook change?
No. The hook's address is part of the pool's key, and the lowest 14 bits of that address are its permissions. Both are fixed for the pool's life. A different hook is a different pool. A pool on Socket's hooks also keeps the fee settings and buyback share it was initialized with.
What happens if a hook fails?
If any hook call reverts, the whole transaction reverts and nothing moves. Only the gas is spent. The app's quotes come from v4's Quoter, which runs the swap with its hook calls and then reverts it, so a route whose hook reverts doesn't quote.
What is an External hook?
Any hook on the allowlist that isn't one of Socket's built-in hooks. SOCKET holders voted it on. Its author proposed it with its verified source on the explorer, its address and flags, whoever can change it, and an independent review, and locked 1,000,000 SOCKET behind it while it is listed. The app shows it as External hook, in mustard. The app doesn't route through hooks that aren't listed.
Can I create a pool with my own hook?
Any v4 pool can name any hook, so you can initialize one through PoolManager directly. The app creates pools on Socket's built-in hooks, and routes through other hooks once a vote lists them. See Write a hook.
Liquidity#
Why is my position "Out of range"?
The price has moved outside your range. The position isn't earning fees and is held entirely in one token. It earns again if the price comes back. You can withdraw it at any time.
Can I add liquidity to a pool with range orders?
Yes. The range order hook holds each order as a one-sided position in the pool, and ordinary LP positions sit beside them. Orders from many owners share the same pool.
What happens when my range order fills?
The swap that takes the price all the way through your order also takes the order's liquidity out of the pool, so a filled order can't convert back. Claim the proceeds whenever you like. An unfilled order can be cancelled for its tokens back. See Range orders.
Can I transfer a position to another wallet?
Yes. Positions are ERC-721 tokens from PositionManager, so they transfer like any NFT. The new owner collects its fees.
SOCKET#
What is SOCKET for?
SOCKET is Socket's governance token. Holders vote on which hooks the app routes trades through and on the buyback share of new pools, and hook authors stake it behind the hooks they list. See The SOCKET token.
How was SOCKET distributed?
In a fair launch: the whole supply went into one public launch on the same terms for everyone. There was no presale, no team allocation, no airdrop, no treasury and no vesting. Providing liquidity earns the pool's fees, not SOCKET.