> ## Documentation Index
> Fetch the complete documentation index at: https://tech.ramses.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Robinhood DLMM Deployments

> Live Robinhood Chain addresses, presets, wiring, and integration boundaries.

# Robinhood DLMM Deployments

<Warning>
  Contract addresses and mutable configuration must be verified on-chain before every production integration. This page records a live read taken at Robinhood block `22,674,244` on July 29, 2026.
</Warning>

## Network

| Field        | Value                                                               |
| ------------ | ------------------------------------------------------------------- |
| Network      | Robinhood Chain                                                     |
| Chain ID     | `4663`                                                              |
| Native asset | ETH                                                                 |
| Public RPC   | `https://rpc.mainnet.chain.robinhood.com`                           |
| Explorer     | [Robinhood Chain Blockscout](https://robinhoodchain.blockscout.com) |

## Contracts

| Contract                 | Address                                                                                                                                  |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| AccessHub                | [`0x83341F891f898cb5E0cacC8a70501BBa83d9CecF`](https://robinhoodchain.blockscout.com/address/0x83341F891f898cb5E0cacC8a70501BBa83d9CecF) |
| DLMM Factory             | [`0xdcD5F77697914E27f56FD263EF82923C8524AbAc`](https://robinhoodchain.blockscout.com/address/0xdcD5F77697914E27f56FD263EF82923C8524AbAc) |
| DLMM Pool Implementation | [`0x4e857A78bcE4FcF41677f21Bfaf3e77890d5042b`](https://robinhoodchain.blockscout.com/address/0x4e857A78bcE4FcF41677f21Bfaf3e77890d5042b) |
| DLMM Fee Collector       | [`0xcc543a9EDBa25cEB2922b165047b6A7bE861C55b`](https://robinhoodchain.blockscout.com/address/0xcc543a9EDBa25cEB2922b165047b6A7bE861C55b) |
| DLMM Router              | [`0xd0019e86edB35E1fedaaB03aED5c3c60f115d28b`](https://robinhoodchain.blockscout.com/address/0xd0019e86edB35E1fedaaB03aED5c3c60f115d28b) |
| DLMM Quoter              | [`0xb722efaAbe807FAeA16068f595EaA9aa1a62CECD`](https://robinhoodchain.blockscout.com/address/0xb722efaAbe807FAeA16068f595EaA9aa1a62CECD) |

Discover individual pool addresses through the factory. Do not assume one pool per token pair because separate bin steps create separate pools.

## Quote assets

The live factory quote-asset whitelist contains:

| Asset | Address                                                                                                                                  |
| ----- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| WETH  | [`0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73`](https://robinhoodchain.blockscout.com/address/0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73) |
| USDG  | [`0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168`](https://robinhoodchain.blockscout.com/address/0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168) |

For permissionless creation, the desired `tokenY` must already be on this whitelist.

## Live wiring

| Read                       | Value                     | Meaning                                                                                    |
| -------------------------- | ------------------------- | ------------------------------------------------------------------------------------------ |
| `factory.owner()`          | AccessHub                 | AccessHub controls factory-owner operations                                                |
| `factory.feeCollector()`   | DLMM Fee Collector        | Protocol portions are collected there                                                      |
| `factory.voter()`          | Zero address              | No live DLMM voter/rewarder integration                                                    |
| `feeCollector.accessHub()` | AccessHub                 | Collector configuration is AccessHub-gated                                                 |
| `feeCollector.voter()`     | Zero address              | Collected protocol fees are not routed to voters                                           |
| `feeCollector.treasury()`  | Ramses Safe               | The current fee-only protocol portion is sent to treasury                                  |
| `accessHub.voter()`        | Voter                     | AccessHub is wired to the wider Ramses voting system                                       |
| `voter.dlmmFactory()`      | DLMM Factory              | The Voter recognizes this factory, although the factory is not yet wired back to the Voter |
| `factory.getAllBinSteps()` | `1, 2, 5, 10, 15, 20, 25` | Available presets                                                                          |

Sampled live pools reported:

* `protocolShare = 500`, or 5% of swap fees
* No hook parameters
* LP-retained fees remain in bin reserves and compound into LP share value

The current open presets and sampled pools implement the fee-only split: 95% of swap fees remain for LPs and 5% is routed to protocol treasury.

## Administration and custody boundaries

| Component                | Live value                                                                                                                               |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| AccessHub implementation | [`0x9DC2d94B3979f85d875557f212461685eaA23873`](https://robinhoodchain.blockscout.com/address/0x9DC2d94B3979f85d875557f212461685eaA23873) |
| Voter                    | [`0x30032D41868906f0376eC4D87B3D3Ac4064e7A97`](https://robinhoodchain.blockscout.com/address/0x30032D41868906f0376eC4D87B3D3Ac4064e7A97) |
| Treasury and Ramses Safe | [`0x20D630cF1f5628285BfB91DfaC8C89eB9087BE1A`](https://robinhoodchain.blockscout.com/address/0x20D630cF1f5628285BfB91DfaC8C89eB9087BE1A) |
| Timelock                 | [`0xE41c07CcD69A0f19A2186f3Ad30409BD585436CE`](https://robinhoodchain.blockscout.com/address/0xE41c07CcD69A0f19A2186f3Ad30409BD585436CE) |
| ProxyAdmin               | [`0xA203A21dCCB461E415DaA342E8e635B6CeE0cCb3`](https://robinhoodchain.blockscout.com/address/0xA203A21dCCB461E415DaA342E8e635B6CeE0cCb3) |

At the verification block, the Safe was 1-of-1 and its sole owner was the same EOA that directly held the `PROTOCOL_OPERATOR` and `SWAP_FEE_SETTER` roles. The timelock's minimum delay was zero, and the ProxyAdmin was Safe-owned. This is an early-stage operating model with immediate administrative controls, not a fully delayed governance configuration. Ramses intends to move these controls toward timelocked administration over time.

These controls can change economic configuration, hooks, presets, routing status, future pool implementation, and rewarder settings. They do not expose a general administrator withdrawal function for user liquidity: a bin position can be burned only by its holder or an operator that holder approved. Existing pool clones are immutable; changing the factory's implementation address affects only future pools. This custody boundary does not remove the execution and economic risks created by privileged configuration.

## Live open presets

All listed presets were open at the verification block. Values are mutable.

| Bin step | Base factor | Base fee | Filter | Decay | Reduction | Variable control | Max accumulator | Protocol share |
| -------: | ----------: | -------: | -----: | ----: | --------: | ---------------: | --------------: | -------------: |
|        1 |      20,000 |    2 bps |    10s |  120s |       50% |        2,000,000 |         100,000 |             5% |
|        2 |      15,000 |    3 bps |    10s |  120s |       50% |          500,000 |         250,000 |             5% |
|        5 |       8,000 |    4 bps |    30s |  600s |       50% |          120,000 |         300,000 |             5% |
|       10 |      10,000 |   10 bps |    30s |  600s |       50% |           40,000 |         350,000 |             5% |
|       15 |      10,000 |   15 bps |    30s |  600s |       50% |           30,000 |         350,000 |             5% |
|       20 |      10,000 |   20 bps |    30s |  600s |       50% |           20,000 |         350,000 |             5% |
|       25 |      10,000 |   25 bps |    30s |  600s |       50% |           15,000 |         350,000 |             5% |

The base fee is only the static floor. The on-chain variable fee may increase the trader-paid fee as swaps move across bins.

## Factory constant versus live policy

The deployed factory exposes:

```text theme={null}
defaultProtocolShare() = 2,500
gaugedProtocolShare()  = 10,000
```

Its current open presets and sampled fee-only pools use `500`, not `2,500`.

<Warning title="Do not infer a pool split from defaultProtocolShare()">
  Read the pool's `protocolShare` from `getStaticFeeParameters()`. The factory's generic default constant, the current creation preset, and an individual pool's mutable value are separate pieces of state.
</Warning>

The Ramses gauged architecture sets a live rewarder's pool to `10,000`, routing 100% of swap fees into `DLMMFeeCollector` while RAM emissions reward eligible LP bins. Voters receive the collector amount remaining after its independently mutable `treasuryFees` skim; the 100%-to-voters policy requires that skim to be zero. This architecture is not currently connected on Robinhood because `factory.voter()` is zero and no rewarder factory is listed for this deployment.

## Production checks

Before integrating:

1. Assert chain ID `4663`.
2. Read the factory owner, fee collector, voter, presets, and quote assets.
3. Discover and validate the pool with `factory.isPool(pool)`.
4. Read pool token order, active ID, static fee parameters, and hook parameters.
5. Quote against live bin reserves.
6. Simulate with the current router before sending.

## Additional resources

* [DLMM & Liquidity Bins](/concepts/protocol/dlmm)
* [DLMM Integration Guide](/contracts/guides/dlmm/integration)
* [DLMM Contract Architecture](/contracts/reference/dlmm/overview)
* [General Contract Addresses](https://docs.ramses.xyz/pages/contract-addresses)
