RaycashDocs
Reference

Contract Addresses & ABIs

Deployed contract addresses per chain and ABI reference for integrators.

Deployed Contracts

Addresses are pulled from the @raycash/deployments package at build time. After re-deployment, run pnpm generate in packages/deployments/ to update.

Sepolia (Chain ID: 11155111)

ContractAddressABI entries
RaycashWrapper0x832bBD0eC245d92D0B94Aa9dbb780cA6f8c2eB9F102
MockUSDC0xeBC47287115B69ce21aAFBa2BA628b310A9E649925
RaycashKycAttesterResolver0x63979Dc84249d6822c6c00165b10fEE58aeB598017
RaycashKycHook0x48ca254dFb4D545A39a25183D585cdC12D78BB955
RaycashKycSchema0x85CDA4055E54b7B6d291132C7F6B16EF65Ea157f2
FHEPermit0x222D002a2244948f8B26C6469bf86a31a736654723
MoonpayMockERC200x699cFE8997d647D03325Ef4bfD039d5bB0984A1725
MoonpayWrapper0x55cE44239d30973033277822Ab239F24676CC4D5102

ABIs

The @raycash/deployments package exports typed ABIs and address mappings per chain:

import { actions } from "@raycash/deployments";

// Addresses (keyed by chain ID)
const raycashWrapperAddress = actions.raycashWrapperAddress;
const mockUSDCAddress = actions.mockUsdcAddress;
const raycashKycAttesterResolverAddress = actions.raycashKycAttesterResolverAddress;
const raycashKycHookAddress = actions.raycashKycHookAddress;
const raycashKycSchemaAddress = actions.raycashKycSchemaAddress;
const fHEPermitAddress = actions.fhePermitAddress;
const moonpayMockERC20Address = actions.moonpayMockErc20Address;
const moonpayWrapperAddress = actions.moonpayWrapperAddress;

// ABIs (TypeScript-typed)
const raycashWrapperAbi = actions.raycashWrapperAbi;
const mockUSDCAbi = actions.mockUsdcAbi;
const raycashKycAttesterResolverAbi = actions.raycashKycAttesterResolverAbi;
const raycashKycHookAbi = actions.raycashKycHookAbi;
const raycashKycSchemaAbi = actions.raycashKycSchemaAbi;
const fHEPermitAbi = actions.fhePermitAbi;
const moonpayMockERC20Abi = actions.moonpayMockErc20Abi;
const moonpayWrapperAbi = actions.moonpayWrapperAbi;

Via deployment JSON files

Raw deployment data (address + full ABI) is stored per network in:

contracts/src/deployments/<network>/<ContractName>.json

Each file contains { deploymentName, address, chainId, abi }.

Via compiled artifacts

After pnpm compile in contracts/, full ABI JSON files are at:

contracts/artifacts/src/contracts/<ContractName>.sol/<ContractName>.json

Source Code

All contract source code is in the contracts/src/contracts/ directory:

ContractSource File
RaycashWrappersrc/contracts/RaycashWrapper.sol
RaycashDepositorsrc/contracts/RaycashDepositor.sol
RaycashKycHooksrc/contracts/hooks/RaycashKycHook.sol
RaycashKycAttesterResolversrc/contracts/attestation/RaycashKycAttesterResolver.sol
RaycashKycSchemasrc/contracts/attestation/RaycashKycSchema.sol
CardChargesEscrowsrc/contracts/CardChargesEscrow.sol
FHEPermitsrc/contracts/FHEPermit.sol

Re-deployment

After contract changes:

# 1. Deploy contracts
cd contracts && pnpm compile && tsx src/deploy/scenarios/raycashSetup.ts

# 2. Regenerate wagmi types
cd ../packages/deployments && pnpm generate

# 3. Rebuild
cd ../.. && pnpm build

Was this page helpful?

On this page