oxley documentation
Builders
Integrate oxley pools, swaps, events, and contracts on Robinhood Chain.Network and contracts
| Field | Value |
|---|---|
| Network | Robinhood Chain Testnet |
| Chain ID | 46630 |
| MockUSDG | 0xAAb48698B333388aE037b8e80BdD21111237e0dB |
| PoolManager | 0x8366a39CC670B4001A1121B8F6A443A643e40951 |
| StateView | 0xF3334192D15450CdD385c8B70e03f9A6bD9E673b |
| Launch profile | 0x7d7b3B74882b9B7E546Cb1828D9EdCFf29029113 |
| Hook | 0x39bC6B2C77689123BD239dd01363B745DBA6e0Cc |
| Factory | 0xBB06C4ec629a2ae3BE30B733F892743B05275094 |
| Adapter | 0x73CE6f38091435c21CfAEFc034D674828Eb00bA4 |
Build a swap
import { createOxleyClient } from "@oxley/sdk";
const oxley = createOxleyClient({ publicClient, manifest });
const { transaction, quote } = await oxley.buildSwap({
account,
token,
amount: 100_000_000n,
side: "buy",
limit: { kind: "exactInput", slippageBps: 100 },
});
buildSwap validates the manifest, adapter, token runtime, hook registration,
and canonical pool, then simulates the exact adapter call. It returns a typed
transaction request and quote. It never signs or submits.
If allowance is insufficient, the SDK returns a typed approval requirement for the immutable adapter. Integrators should submit the approval, re-quote, and then request the swap signature.
Canonical route
oxley pools use SETTLE -> SWAP -> TAKE/REFUND. Route builders must use the
oxley adapter or reproduce the reviewed action order exactly. A generic v4
planner that emits another sequence is not compatible even if it can discover
the pool.
Fees are derived from actual filled USDG. Exact-output integrations receive a revert when the requested output cannot be satisfied within the limit.
Indexing
Index only factory-verified launches and hook events. Store the network, source block, token address, pool ID, creator, deployer, and launch transaction with every record.