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

# Ethereum (Base) — Addresses

> The contract addresses you need to trade RWA tokens on Base.

To trade you only need three things: the **Market** address (where you call `buy`/`sell`),
the **RWA token** you want to trade, and the **payment token** that asset settles in.

All contracts are upgradeable proxies — always interact with the **proxy** address shown
below.

## Base mainnet (chainId `8453`)

Live since 10 September 2026. Admin, owner and upgrade authority on every contract is held
by a 2-of-3 Gnosis Safe; no single key can mint, list, reprice or upgrade anything.

### Market

This is the contract you call `buy` and `sell` on.

| Contract | Address |
| - | - |
| Market | `0x716B0B731f2FB292C74BD121485d930FA3dEA2DD` |

### Payment tokens

The currency each asset settles in. Check `payoutToken()` on the RWA token to know which
one applies before trading.

| Token | Address |
| - | - |
| USDC | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` |
| cNGN | `0x46C85152bFe9f96829aA94755D9f915F9B10EF5F` |

#### Getting cNGN on Base

Most GetEquity assets are naira-denominated and settle in cNGN, so you need cNGN on Base
before you can buy. These are third-party services listed for convenience — GetEquity does
not operate them and does not endorse any of them.

**Swap from USDC or USDT, on Base:**

| Venue | Link |
| - | - |
| HyperFX | [app.hyperfx.finance/swap](https://app.hyperfx.finance/swap) |
| TextileFX | [app.textilecredit.com](https://app.textilecredit.com/) |
| Uniswap | [app.uniswap.org/positions/v4/base/1984590](https://app.uniswap.org/positions/v4/base/1984590) |

**Buy with naira:**

| Service | Link |
| - | - |
| Noblocks | [noblocks.xyz](https://noblocks.xyz) |
| Busha | [busha.io](https://busha.io/) |
| Quidax | [quidax.io](https://www.quidax.io/) |
| Xend | [app.xend.africa](https://app.xend.africa/) |
| Tirra | [usetirra.xyz](https://usetirra.xyz) |

A fuller list of on-ramps and merchants is maintained by the issuer at [cngn.co/merchants](https://cngn.co/merchants).

> [!WARNING]
>
> **Check the contract address before you swap.** "cNGN" is a name, not an identity —
> anyone can deploy a token using it, and a swap interface will happily route you into one.
> On Base, cNGN is `0x46C85152bFe9f96829aA94755D9f915F9B10EF5F` and nothing else. Confirm
> that address in the token selector, or paste it in directly, rather than picking the token
> by its symbol or logo.
>
> cNGN on Base is a different contract from cNGN on any other chain, and the Solana mint is
> different again — see [Solana addresses](https://getequity.io/docs/onchain/solana-addresses.md). Sending cNGN to an
> address on the wrong chain loses it.

### Tradeable RWA tokens

ERC-20, 18 decimals. Verified registered and tradeable at the time of writing.

| Symbol | Asset | Address |
| - | - | - |
| DPRI | Dangote Petroleum Refinery IPO | `0xc68b460fe4c916Fd17d6ab6b181A409C763002d9` |
| gNTB | GetEquity Nigerian Treasury Bills Fund | `0x0BBD0A655773AabCF014B7C6E7a2FFB5489528f0` |

Assets are listed as deals go live, so read them from the chain rather than from this table:

```js theme={null}
const tokens = await market.getRegisteredTokens();      // address[]
const live   = await market.isAssetTradeable(tokens[0]); // registered && active
```

> [!NOTE]
>
> The same asset has a **different address on each chain** — DPRI on Base is not DPRI on
> Solana. Match the address to the chain you are connected to.

### Supporting contracts

You do not call these to trade — they are here so you can verify what you are interacting
with, and so tooling can resolve an asset's vault and lifecycle state.

| Contract | Address |
| - | - |
| RWATokenFactory | `0x9Df36CBEC85e0cFBf7A08e77899D64Cc2add903d` |
| VaultFactory | `0x361e8CEc4523BbB0B1C2a35BC16c0faab5C25D84` |
| ExitManager | `0x571643d92136F726375D3e3b83b236d0359A8e03` |
| AutomationRegistry | `0x6eefE759Ff5E985dD2f639952d8a2985E12eA75C` |
| Gnosis Safe (governance) | `0xc9ae3d55ef35fED7e11F9511D96FC7aD9e5C2bdB` |

> [!WARNING]
>
> Price updates on mainnet are rate limited on chain: a single update may not move an
> asset's price by more than 10%, updates are at least 5 minutes apart, and cumulative
> movement is capped at 30% per 24 hours. Quotes are still worth re-reading immediately
> before you submit — see [quotes and slippage](https://getequity.io/docs/onchain/ethereum-contracts.md).

## Base Sepolia (chainId `84532`)

### Market

This is the contract you call `buy` and `sell` on.

| Contract | Address |
| - | - |
| Market | `0x68543Dc71F76d0835e724dbEF898Dd010209C4bc` |

### Payment tokens

The currency each asset settles in. Check `payoutToken()` on the RWA token to know which
one applies before trading.

| Token | Address |
| - | - |
| USDC (test) | `0x036CbD53842c5426634e7929541eC2318f3dCF7e` |
| CNGN | `0x7E29CF1D8b1F4c847D0f821b79dDF6E67A5c11F8` |

### Tradeable RWA tokens

| Symbol | Asset | Address |
| - | - | - |
| DPRI | Dangote Petroleum Refinery IPO | `0x382Fb47b11107D9611a6aBAa28C907313D12C5bf` |
| NTBS8 | Nigerian Treasury Bill Series 8 | `0x7A366C94bF530D0459a5E0fe72e54d81ED397674` |
| CHDNRE | Chapel Hill Denham NREIT | `0x06Abe3C18BcA4505da0A147FC1eF2898e480f840` |
| ARMNGF | ARM NGN Mutual Fund | `0xBdd5357A6c17B3d55Ab0A15C608d26A357c2C8C5` |
| CDCSI | CredPal Debt Capital Series IV | `0x0FDEd7FF4A8b3981Afa014651F62b982a9D52831` |
| PLLS1C | Precise Lighting Limited Series 1 Commercial Paper | `0xC32656fDf2B09255B04fA1fFf12604076a0D1e5A` |
| FDNS2 | FCMB Debt Note Series 2 | `0x58C4f0a34739aE16468BA4e2F552Dd7F60Ec509d` |
| gNTB | GetEquity Nigerian Treasury Bills Fund (testnet copy, 18 dp) | `0x3efAb39D8EE258d552b404B462832738F502C1f9` |

> [!TIP]
>
> You can discover all tradeable tokens on-chain with
> `Market.getRegisteredTokens()` and check each with `Market.isAssetTradeable(token)` —
> see the [contract surface](https://getequity.io/docs/onchain/ethereum-contracts.md).

### Credit (Morpho Blue)

The gNTB / cNGN lending market. See [credit on Base](https://getequity.io/docs/onchain/credit-base.md) for how to use it.

| Item | Address |
| - | - |
| Morpho Blue | `0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb` |
| Market id (gNTB / cNGN, 77% LLTV) | `0x36826669f77801235f02f4d6319487a383dd89f91efd73f55e298228c26c76a3` |
| Oracle (MorphoChainlinkOracleV2) | `0x7554feCE759eDA89A2858035DC00b5016E885C47` |
| gNTB price feed (RWAPriceOracle) | `0x31FCfAcd4f1A376606f2AF7297E1e573cf15d191` |
| Interest-rate model (AdaptiveCurveIRM) | `0x46415998764C29aB2a25CbeA6254146D50D22687` |

### Market-making venues

One venue per asset, created by the VenueFactory. Look one up on chain with
`VenueFactory.venueOf(token)`. See [market-making pools](https://getequity.io/docs/onchain/market-making.md).

| Contract | Address |
| - | - |
| VenueFactory | `0x2461e346e6764878d25ae6ab2fE0E80BF8BE8C54` |
| Venue beacon | `0x6E38ef4e6D5F5c6cB87935c0DC244642E663fB95` |

| Asset | Token | Venue |
| - | - | - |
| DPRI | `0x382Fb47b11107D9611a6aBAa28C907313D12C5bf` | `0x25d6DD81E41aD124aADd2909a9cec398cecAB2Af` |
| NTBS8 | `0x7A366C94bF530D0459a5E0fe72e54d81ED397674` | `0x2bfC3f3D564D4EA6E86A576917C0a74f5D8F4f60` |
| CHDNRE | `0x06Abe3C18BcA4505da0A147FC1eF2898e480f840` | `0xb95FF7826D8a655F035B874C8BECFBAed5f0dc46` |
| ARMNGF | `0xBdd5357A6c17B3d55Ab0A15C608d26A357c2C8C5` | `0x3fD00872EbD325dF9E2b461472110DaA44fE099B` |
| CDCSI | `0x0FDEd7FF4A8b3981Afa014651F62b982a9D52831` | `0x1F11E3702A8a6F2237a999462c71703B592b0fEA` |
| PLLS1C | `0xC32656fDf2B09255B04fA1fFf12604076a0D1e5A` | `0x75358f540bFEDd6b8D13d698A3980aFa42CD98ab` |
| FDNS2 | `0x58C4f0a34739aE16468BA4e2F552Dd7F60Ec509d` | `0xd906017b33E21B7b69A4c0987161FAE509B5fFd3` |
| VANLS1 | `0xa26f0527507b242dc8959aA0a740e6D491199bc6` | `0x3b0f851506a66914ab8F79618272Fb72eAE17A12` |
| NTBL | `0xda42AEaC0A2ab7938C20Eb75221e9678f0d431aD` | `0x7B7f29e4f5289cBcE0322CF1913AC9C69e3dA533` |
| CHDN | `0xeF9EB8d3C24Ac3aA3329d16EEBb2ADBd7211dB3B` | `0x7F04050b3867Cb91EBFfb1A161e992d5E6f22D95` |
| CHDN | `0xCFd601901AeFC813F4A1c88eF233EeE9FB6275Cc` | `0x058Dcc42e993Bb93f1F907961FAD182f778974A8` |

gNTB has no venue on Base Sepolia yet (`venueOf` returns `0x0`). Read on chain 2026-10-14.

> [!NOTE]
>
> **Mainnet:** not yet deployed. Addresses will be published here when it goes live.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.