# AMLIL > Hook aggregator for Uniswap v4 on Robinhood Chain (chain id 4663). Registry of every v4 hook with Aggregator Hooks detected by behaviour, a router that quotes native, hooked and external liquidity plus Hookline's aggregated route and returns ready Universal Router transactions, and a compute lane whose results are signed by the node. Every paid call uses x402 v2 in USDG. Site: https://amlil.app ## How to pay (x402) - Paid endpoints answer 402 with a PAYMENT-REQUIRED header (base64 JSON, x402Version 2). accepts[0] = {scheme: "exact", network: "eip155:4663", amount (USDG, 6 decimals), asset: 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168, payTo, extra: {name: "Global Dollar", version: "1"}}. - Sign an EIP-3009 TransferWithAuthorization for that amount with a wallet holding USDG on Robinhood Chain, retry with the PAYMENT-SIGNATURE header. The response carries PAYMENT-RESPONSE with the settlement transaction. - With @x402/fetch: wrapFetchWithPayment(fetch, new x402Client().register("eip155:*", new ExactEvmScheme(account)).setSpendControls({ allowedAssets: [{ network: "eip155:4663", asset: "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168" }] })). - Prices: /api/hooks 0.001 USDG, /api/route 0.002 USDG, /api/jobs 0.005 USDG. Everything else is free. ## Endpoints - GET /api/hooks (paid): the registry. Unpaid requests get a 6-hook preview in the 402 body. - POST /api/route (paid): {sell, buy, amount, pin?, taker?} -> legs ranked by output, each with source (native|hooked|external) and swap {to, data, value, minOut, deadline, needsApproval}; plus hookline {quoteId, amountOut, parts, sources, savings, beatsBest, privateUrl}. - POST /api/jobs (paid): {kind: impact-sim|vol-surface|fee-model, params?} -> output, resultHash, signature, signer. - GET /api/burns: fee buyback and burn ledger (policy, totalBurned, pendingUsdg, rows with tx hashes). Node revenue in USDG is swapped into $AMLIL and sent to 0x...dEaD every day at 12:00 UTC once at least 5 USDG has accrued. - GET /api/stats, /api/health, /api/ledger, /api/balance/{address}, /api/allowance?token&owner, /api/tx/{hash}: free. - Hookline execution: POST /api/hookline/quote {sell, buy, amount, taker}, POST /api/hookline/swap {quoteId, permitSignature?}, POST /api/hookline/track, GET /api/hookline/status/{hash}: free. - x402 facilitator for Robinhood Chain USDG: GET /api/facilitator/supported, POST /api/facilitator/verify, POST /api/facilitator/settle. ## Executing a swap 1. POST /api/route with taker = your address. 2. Pick a leg: send leg.swap {to, data, value} from the taker (approve the token for Permit2 and Permit2 for the router first if needsApproval), or use the Hookline route: POST /api/hookline/quote with taker, follow steps (approve tx, permit signature), POST /api/hookline/swap, send tx.to/data/value, POST /api/hookline/track. 3. GET /api/tx/{hash}. ## Links - OpenAPI: https://amlil.app/openapi.json - Docs: https://amlil.app/docs - Console: https://amlil.app/app - Built on Hookline: https://hookline.trade