Browse documentation

oxley documentation

Builders

Integrate oxley pools, swaps, events, and contracts on Robinhood Chain.

Network and contracts

FieldValue
NetworkRobinhood Chain Testnet
Chain ID46630
MockUSDG0xAAb48698B333388aE037b8e80BdD21111237e0dB
PoolManager0x8366a39CC670B4001A1121B8F6A443A643e40951
StateView0xF3334192D15450CdD385c8B70e03f9A6bD9E673b
Launch profile0x7d7b3B74882b9B7E546Cb1828D9EdCFf29029113
Hook0x39bC6B2C77689123BD239dd01363B745DBA6e0Cc
Factory0xBB06C4ec629a2ae3BE30B733F892743B05275094
Adapter0x73CE6f38091435c21CfAEFc034D674828Eb00bA4

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.