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

# Mainnet Deployments

> Contract addresses, tokens, market parameters, and price sources for Monad mainnet.

This reference includes the current AccountCore implementation and the addresses and parameters from the [15 October 2026 mainnet deployment record](https://gist.github.com/devblixt/0093a81e9fc21b6c96e74ac3d3eb08e9). The [testnet reference](/deployments/testnet) lists the separate test deployment. Check live onchain state before sending transactions because administrative parameters can change.

## Network

| Setting | Value |
| - | - |
| Network | Monad mainnet |
| Chain ID | `143` |
| RPC | `https://rpc.monad.xyz` |
| Explorer | [https://monadvision.com](https://monadvision.com) |
| Gas token | MON, 18 decimals |

## Contract addresses

| Component | Address | Purpose |
| - | - | - |
| AccountCore proxy | `0x264123a9B96Cc1193944cC25C188f1bD3dFa670e` | ERC-20 spender; custody, deposits, withdrawals, accounts and signers |
| WithdrawalLimiter proxy | `0xF059F4AAb49Bd3AFB62134145EeAF38Fe103F0eA` | Withdrawal budget and token-to-price-source mappings |
| SpotRouter proxy | `0xBdDF3556701B7ECca5d69416CFfd7F86D37E52b3` | Market registration and administration |
| KuruTradingWallet implementation | `0xa478b5a38aabDf8b31f0ec7443a274162214Cd18` | EIP-7702 delegation target |

Approve and deposit tokens into **AccountCore**. Send direct trading calls to the **market address** below. Signed trading-wallet actions execute through the delegated EOA; KuruTradingWallet is its EIP-7702 implementation.

## Markets

All nine markets quote USDC (`0x754704Bc059F8C67012fEd69BC8A327a5aafb603`, 6 decimals). There is no USDT/USDC market in this deployment.

| Market | OrderBook address |
| - | - |
| MON/USDC | `0xc9dE998e272d59a19CEA3783C8dd44f87A86405D` |
| WETH/USDC | `0x8121EE960066e4344A213F9aC7502395502aEe7a` |
| cbBTC/USDC | `0xAE8E0cf4A9ff696b5f6EC0B1339200EB4c09E422` |
| XAUt0/USDC | `0x9d29630Ae2DCf02cB0Cf05e17F45D95f01f15798` |
| NVDAx/USDC | `0xf3FB2ec6ffb2A24506769bfaA3aD9B1EeB7D41Eb` |
| SPYx/USDC | `0xBb180c8B6D3eE0b4316B224C53B80dC4e354d24F` |
| QQQx/USDC | `0xEdf008258139ee23cf2bDB9C360f69131dC72708` |
| TSLAx/USDC | `0xf884c7631a7150F28c139a3A9f8B669258b5b285` |
| EWYx/USDC | `0xED3727e833200c849fbd18e15eD0D091c9B0F3aF` |

### Market parameters

| Market | sizePrecision | pricePrecision | tickSize | passiveSpreadTicks | Passive spread (\$) |
| - | - | - | - | - | - |
| MON/USDC | 10000000000 | 100000000 | 100 | 100 | \$0.0001 |
| WETH/USDC | 10000000000 | 10000 | 100 | 100 | \$1 |
| cbBTC/USDC | 100000000 | 1000 | 100 | 100 | \$10 |
| XAUt0/USDC | 1000000 | 10000 | 100 | 100 | \$1 |
| NVDAx/USDC | 10000000000 | 10000 | 100 | 10 | \$0.1 |
| SPYx/USDC | 10000000000 | 10000 | 100 | 10 | \$0.1 |
| QQQx/USDC | 10000000000 | 10000 | 100 | 10 | \$0.1 |
| TSLAx/USDC | 10000000000 | 10000 | 100 | 10 | \$0.1 |
| EWYx/USDC | 10000000000 | 10000 | 100 | 10 | \$0.1 |

Dollar spreads assume USDC = \$1. Passive spread is a configured market parameter, not the live bid/ask spread. Order quantity uses `sizePrecision`; order price uses `pricePrecision` and must align to `tickSize`. Deposits and withdrawals use token decimals.

### Fees and order limits

| Parameter | Value | Contract value |
| - | - | - |
| Default maker fee | 1 bps | `defaultSpotMakerFeePps = 1000` |
| Default taker fee | 2 bps | `defaultSpotTakerFeePps = 2000` |
| Market maker/taker caps | 100 bps each | `makerFeePps = 100000`, `takerFeePps = 100000` |
| Minimum quote notional | 10 USDC | `minQuoteNotional = 10000000` |
| Maximum quote notional | 5,000,000 USDC | `maxQuoteNotional = 5000000000000` |

AccountCore default fees are enabled. The 100-bps market values cap the applicable fees; the default trading rates are **1 bps maker / 2 bps taker**. Account-specific tiers and builder fees can affect the final charge. Fee rates use a denominator of `10000000`. See [OrderBook](/contracts/order-book) for fee calculation.

The 10-USDC minimum is inclusive and applies to order admission before fees, not to each partial fill.

## Tokens

| Token | Address | Decimals |
| - | - | - |
| USDC | `0x754704Bc059F8C67012fEd69BC8A327a5aafb603` | 6 |
| MON | `0x0000000000000000000000000000000000000000` | 18 |
| WETH | `0xEE8c0E9f1BFFb4Eb878d8f15f368A02a35481242` | 18 |
| cbBTC | `0xd18B7EC58Cdf4876f6AFebd3Ed1730e4Ce10414b` | 8 |
| XAUt0 | `0x01bFF41798a0BcF287b996046Ca68b395DbC1071` | 6 |
| NVDAx | `0xc845b2894dBddd03858fd2D643B4eF725fE0849d` | 18 |
| SPYx | `0x90A2a4c76b5D8c0bc892A69EA28Aa775a8f2dD48` | 18 |
| QQQx | `0xa753A7395cAe905Cd615Da0B82A53E0560f250af` | 18 |
| TSLAx | `0x8aD3c73F833d3F9A523aB01476625F269aEB7Cf0` | 18 |
| EWYx | `0x299c95Eb52BFd5Bc98d924bCE17197b64864589B` | 18 |

MON is native: use `address(0)` as the token identifier and send `msg.value` with an AccountCore deposit. Do not transfer MON to the zero address. All five xStocks tokens have **18 decimals** and use **10^10 size precision** for orders.

## Price sources

These USD sources value deposits and withdrawals; trade prices come from the orderbook. USDC has its own USD price rather than a fixed \$1 valuation.

| Token | Price source address | Source | Maximum observation age |
| - | - | - | - |
| MON | `0x949b4C63901A72013E4195F0e110ee660892f116` | Chainlink MON/USD | 70 minutes |
| USDC | `0x8Eee8E00bB25948F10ca4f4f3a80FC982244AdF6` | Chainlink USDC/USD | 70 minutes |
| WETH | `0x64796C7Bc079cB9E2acd0844d4E487d8a0C8F864` | Chainlink ETH/USD | 70 minutes |
| cbBTC | `0xA006f7Ef1E366cB60A3D5701Bb25c0fa0586F698` | Chainlink BTC/USD | 70 minutes |
| XAUt0 | `0x6FC71cf5A846AE343D71112632d16C978B59FEB5` | Kuru-published USD reference | 5 minutes |
| NVDAx | `0x587B1103b3282dcF32110bd0EB8A1cc6097d71ec` | Kuru-published USD reference | 5 minutes |
| SPYx | `0xA6589464443419C70a05d1F457F4941D678b235C` | Kuru-published USD reference | 5 minutes |
| QQQx | `0x36E43bA74243e49fbeB847fF16f7E20302a0C62E` | Kuru-published USD reference | 5 minutes |
| TSLAx | `0x532Dc864931896aCFb2C719c163e4BE61874C2bC` | Kuru-published USD reference | 5 minutes |
| EWYx | `0xD89be8ed6F7190b3d0522d7Df8d43B430b8a3E14` | Kuru-published USD reference | 5 minutes |

WETH uses ETH/USD and cbBTC uses BTC/USD at 1:1. The maximum age is the contract acceptance limit, not a publication schedule. Stale observations can prevent deposits or withdrawals until fresh prices become available.

<Accordion title="Implementation and authority addresses">
  | Component | Address | Purpose |
  | - | - | - |
  | ProtocolAuthority | `0x15db88bAc73D856B3ca53683F82058826A3b6E8f` | Governance, ops and emergency role registry |
  | KeeperAuthority | `0xbc36eC07800150489f9ED0f86a2d3E27Ca36980e` | Trading-wallet keeper authorization |
  | AccountCore implementation | `0xB52deBaD718730eE0a4C12C28E70d346dbCc9E5B` | Implementation behind AccountCore proxy |
  | WithdrawalLimiter implementation | `0x64E621868318a68DfD1F374EC75bd3Cd5B72b349` | Implementation behind limiter proxy |
  | SpotRouter implementation | `0x70DD3E2F643A187D34eD54a58AFEdF717464FCD9` | Implementation behind router proxy |
  | Shared OrderBook implementation | `0x38e7620A96E79A1d2B4439c68141203d757D69E6` | Implementation behind all nine market proxies |
  | KuruFastLanePeriphery | `0x86400a84364e167b933b18e1484369679cDbEcA9` | FastLane execution adapter for the current trading wallet |

  Use the AccountCore, WithdrawalLimiter and SpotRouter proxies above for contract calls. Their implementation addresses identify the code behind those proxies.
</Accordion>


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