Skip to content

Deployments

OCash is deployed on the following networks. The SDK exports pre-configured chain configs for each deployment.

Mainnet

ETH Mainnet (Chain ID: 1)

ItemValue
Contract (Proxy)0x428c850be686E933DD641eE43574BA35f550c94c
ProxyAdmin0xb5161775ded280Eb0E8e07Ed2EaDF7F1D324f142
Entry Servicehttps://api.o.cash
Relayerhttps://relayer.eth.o.cash
Merkle Proofhttps://freezer.eth.o.cash

Pools:

PoolTokenDecimalsTransfer MaxWithdraw Max
0Native (ETH)180.4 ETH0.4 ETH
1USDT (0xdAC17F958D2ee523a2206206994597C13D831ec7)61,100 USDT1,100 USDT
2USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48)61,100 USDC1,100 USDC

BSC Mainnet (Chain ID: 56)

ItemValue
Contract (Proxy)0x428c850be686E933DD641eE43574BA35f550c94c
ProxyAdmin0xb5161775ded280Eb0E8e07Ed2EaDF7F1D324f142
Entry Servicehttps://api.o.cash
Relayerhttps://relayer.bsc.o.cash
Merkle Proofhttps://freezer.bsc.o.cash

Pools:

PoolTokenDecimalsTransfer MaxWithdraw Max
0Native (BNB)181.2 BNB1.2 BNB
1USDT (0x55d398326f99059fF775485246999027B3197955)181,100 USDT1,100 USDT
2USDC (0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d)181,100 USDC1,100 USDC

Base Mainnet (Chain ID: 8453)

ItemValue
Contract (Proxy)0x428c850be686E933DD641eE43574BA35f550c94c
Entry Servicehttps://api.2.o.cash
Relayerhttps://relayer.base.2.o.cash
Merkle Proofhttps://freezer.base.2.o.cash

Pool tokens are loaded dynamically from the contract via fetchPoolTokensFromContract().

Testnet

Sepolia (Chain ID: 11155111)

ItemValue
Contract0xAeec58628cC3DC9E9C491e829051D5772679fb7f
Entry Servicehttps://testnet-api.o.cash
Relayerhttps://testnet-relayer-sepolia.o.cash
Merkle Proofhttps://testnet-freezer-sepolia.o.cash

BSC Testnet (Chain ID: 97)

ItemValue
Contract0xAeec58628cC3DC9E9C491e829051D5772679fb7f
Entry Servicehttps://testnet-api.o.cash
Relayerhttps://testnet-relayer-bsctestnet.o.cash
Merkle Proofhttps://testnet-freezer-bsctestnet.o.cash

Key Addresses

RoleAddress
Owner (Safe Multisig)0xF31620437c3b2AEC737d12B325D56c546D0C6646
Relayer0x68905bfC4aa68cDD80f2b7cD4d21bF4cA461bbE0

SDK Usage

The SDK exports pre-configured chain configs:

ts
import {
  ETH_MAINNET,
  BSC_MAINNET,
  BASE_MAINNET,
  SEPOLIA_TESTNET,
  BSC_TESTNET,
  MAINNET_CHAINS,
  TESTNET_CHAINS,
} from '@ocash/sdk';

// Use all mainnet chains
const sdk = createSdk({
  chains: MAINNET_CHAINS,
  onEvent: console.log,
});

// Or pick specific chains
const sdk = createSdk({
  chains: [ETH_MAINNET, BSC_MAINNET],
  onEvent: console.log,
});

// Testnet
const sdk = createSdk({
  chains: TESTNET_CHAINS,
  onEvent: console.log,
});

For Base mainnet, pool tokens must be loaded from the contract after initialization:

ts
import { fetchPoolTokensFromContract, BASE_MAINNET } from '@ocash/sdk';

const tokens = await fetchPoolTokensFromContract({
  publicClient,
  chainId: 8453,
  contractAddress: BASE_MAINNET.ocashContractAddress!,
  includeErc20Metadata: true,
});
sdk.assets.appendTokens(8453, tokens);