> For the complete documentation index, see [llms.txt](https://docs.nectarliquid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nectarliquid.com/contracts.md).

# Contract Directory

This directory provides the complete and verified list of smart contract addresses, token addresses, and core market pools across **Asset Chain Mainnet** and **Asset Chain Testnet**.

Use these addresses when interacting directly with Nectar Liquid contracts via ethers, viem, Web3.py, or the Nectar Liquid TypeScript SDK.

***

### Network Configurations

| Network Parameter    | Asset Chain Mainnet                                | Asset Chain Testnet (Enugu)                                        |
| -------------------- | -------------------------------------------------- | ------------------------------------------------------------------ |
| **Chain ID**         | `42420`                                            | `42421`                                                            |
| **Network Name**     | Asset Chain Mainnet                                | Asset Chain Testnet                                                |
| **RPC Endpoint**     | `https://mainnet-rpc.assetchain.org`               | `https://enugu-rpc.assetchain.org`                                 |
| **Block Explorer**   | [scan.assetchain.org](https://scan.assetchain.org) | [scan-testnet.assetchain.org](https://scan-testnet.assetchain.org) |
| **Native Gas Token** | `RWA`                                              | `RWA` (Testnet)                                                    |
| **WebSocket RPC**    | `wss://mainnet-rpc.assetchain.org/ws`              | `wss://enugu-rpc.assetchain.org/ws`                                |

***

### Core Protocol Contracts

The table below lists the operational Nectar Liquid protocol contracts:

| Contract Name        | Asset Chain Mainnet (`42420`)                | Asset Chain Testnet (`42421`)                | Description                                                                      |
| -------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------- |
| **DataStore**        | `0x4f59597eA9287B5C13fE1cD00c0ba080C324859a` | `0xb9568bA219d1bE68083cF732295dBD3d3490d0dE` | Global key-value state registry for protocol configuration and market states     |
| **Multicall3**       | `0x2ae7d90C1cc0C7cf70361EcAaede33D33022215A` | `0xc5c2340bCe4C4C0b806De8de194e0BE3129a93B4` | Batch contract call aggregator for efficient read/write operations               |
| **SyntheticsReader** | `0x9538780Dd8Dcd9635f905F117a6cB95FB36D7626` | `0xc67EB2216ebf85113e8B9c5d2252B17a3Ab5FEB5` | High-efficiency view contract for fetching market prices, PnL, and position data |
| **ReferralStorage**  | `0x04b6002A58f5295641602240D6890a959a348f51` | `0xB8dCA59DB431197bBe6A7ce6C202972A8E846464` | On-chain registry for affiliate referral codes, tiers, and trader discounts      |
| **ExchangeRouter**   | *(Configured via Router)*                    | `0x528ec668420A4c08a9F05560eC25e7c716e66966` | User-facing entry point for submitting orders, deposits, and withdrawals         |
| **SyntheticsRouter** | *(Configured via Router)*                    | `0x9d52312451dccbC75A9089864C33174f10326ac9` | Internal routing router dispatching operations to underlying vaults              |
| **RoleStore**        | `0xd68Aef575Df5c76DE49b53a074DD7f6aa8Dd355B` | `0x07503f8F395B2b9D3906F2aA4A0b2241F839A23E` | Access control registry for keeper roles, admins, and controller privileges      |
| **EventEmitter**     | *(Contract Emit Target)*                     | `0x4350C696ed4F86e6431578A29735F938a88C1ca7` | Centralized emitter for order execution, position updates, and fee events        |
| **DepositVault**     | *(Vault)*                                    | `0x425Ab411e91a2d1D25E3A203F99BD6cd1d086221` | Custody vault holding assets during liquidity pool deposits                      |
| **OrderVault**       | *(Vault)*                                    | `0x1989aB81e0B674e78babF7b1ccc99912e8F46a39` | Custody vault holding collateral for pending increase/decrease orders            |
| **WithdrawalVault**  | *(Vault)*                                    | `0x99e04b9D2fA565a8db9b54a1D833072879a4B0B4` | Custody vault handling pending liquidity withdrawals                             |
| **ShiftVault**       | *(Vault)*                                    | `0xaf15cAED6C592Fb4C5f207ED3259c8CF7631b52C` | Custody vault handling pool liquidity reallocation shifts                        |

***

### Supported Token Addresses

| Asset Symbol | Asset Chain Mainnet (`42420`)                | Asset Chain Testnet (`42421`)                | Decimals | Description                                     |
| ------------ | -------------------------------------------- | -------------------------------------------- | -------- | ----------------------------------------------- |
| **WRWA**     | `0x2584D40B5553E81Bb9deC0b6CD1a2E504AAB1709` | `0x87E9d8EfcfA791aD1e91265584DCffa30040Dc4e` | 18       | Wrapped native RWA gas token                    |
| **USDC**     | `0x2B7C1342Cc64add10B2a79C8f9767d2667DE64B2` | `0x7E3137e20150f9dE23830597E1F15D432853d67F` | 6        | Bridged USD Coin collateral asset               |
| **USDT**     | `0x26E490d30e73c36800788DC6d6315946C4BbEa24` | `0x34282d1eba5dBd72ad6326708ee45A954b9043A1` | 6        | Bridged Tether USD collateral asset             |
| **WETH**     | `0xbe231A8492487aAe6096278A97050FAe6B9d5BEc` | `0x62Cf327661e232f2C7A4706B73cf1c1e2c9BB57D` | 18       | Wrapped Ether index & collateral asset          |
| **WBTC**     | *Deployed via Vault*                         | `0x23cb3a0889b53C840D143a20A7aEa6E240759775` | 8        | Wrapped Bitcoin index & collateral asset        |
| **cNGN**     | `0x7923C0f6FA3d1BA6EAFCAedAaD93e737Fd22FC4F` | `0xfe3Fe88013E9b53702C85aD203F874054df65D77` | 6        | Compliant Nigerian Naira fiat-pegged stablecoin |
| **SPD**      | —                                            | `0x4F146F7E8143442Ee1e2F283Af18941a08f15092` | 18       | Testnet simulation collateral asset             |

***

### Perpetual Markets & Market Tokens

Each trading market has an associated market token address. When depositing liquidity or submitting orders, use the corresponding market token:

#### Mainnet Perpetual Markets (`42420`)

| Market Pair    | Market Token Address                         | Index Asset | Long Collateral | Short Collateral |
| -------------- | -------------------------------------------- | ----------- | --------------- | ---------------- |
| **WETH / USD** | `0x97D83eE4829D0ca1371144cBdCf3EB44c446460D` | WETH        | WRWA            | USDC             |

#### Testnet Perpetual Markets (`42421`)

| Market Pair     | Market Token Address                         | Index Asset | Long Collateral | Short Collateral |
| --------------- | -------------------------------------------- | ----------- | --------------- | ---------------- |
| **WETH / USDC** | `0x87416dbb72D770622465f0F9Fac690e9c41529cC` | WETH        | WETH            | USDC             |
| **WBTC / USDC** | `0xE8e1E33a397A5A0614a591Db432F8321D23fd37E` | WBTC        | WBTC            | USDC             |
| **WETH / USDT** | `0x60ffd94885aCC6F8E6e6cF0A0F714894A902160D` | WETH        | WETH            | USDT             |
| **WBTC / USDT** | `0xC598C344173c832c00E5aFF9Cb0676cDF0D15E19` | WBTC        | WBTC            | USDT             |
| **cNGN / USDT** | `0xf4A7547dFb9484dfB1b357c3E1C3C4bBf97F849D` | cNGN        | cNGN            | USDT             |
| **SPD / USDT**  | `0x56B3Ba8B4aA64d59B3691750613B20D605C1DD62` | SPD         | SPD             | USDT             |

#### Testnet Swap Markets (`42421`)

| Swap Pair       | Market Token Address                         | Base Asset | Quote Asset |
| --------------- | -------------------------------------------- | ---------- | ----------- |
| **WRWA / USDC** | `0x3f454e0c4F88CaEEE58909A3e646b48f4B776dA0` | WRWA       | USDC        |
| **WETH / USDC** | `0xf5fdA6Bb2e3347A6EBdc61e78D7D49683c1a4F9c` | WETH       | USDC        |
| **WBTC / USDC** | `0x2042f436473C325A4Bbd9aCFC2436cea77FA75F2` | WBTC       | USDC        |
| **cNGN / USDC** | `0x7ad3dBD118A68F3c69984FB343Ee2638d14E9Ed1` | cNGN       | USDC        |
| **USDC / USDT** | `0x9E6ae6BF827AB838CF5d21dc9036538a738cD7a1` | USDC       | USDT        |

***

### SDK & Integration Configuration

To initialize the Nectar Liquid TypeScript SDK with these configurations:

```typescript
import { ASSETCHAIN, ASSETCHAIN_TESTNET, getContractAddress } from "@nectarliquid/sdk";

// Initialize for AssetChain Mainnet
const mainnetDataStore = getContractAddress(ASSETCHAIN, "DataStore");
// "0x4f59597eA9287B5C13fE1cD00c0ba080C324859a"

// Initialize for AssetChain Testnet
const testnetDataStore = getContractAddress(ASSETCHAIN_TESTNET, "DataStore");
// "0xb9568bA219d1bE68083cF732295dBD3d3490d0dE"
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.nectarliquid.com/contracts.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
