Overview

Complete guide for integration partners building frontends to connect users with Coinchange Vaults.

Overview

Coinchange is a regulated digital asset platform purpose-built for fintechs, wallets, platforms, and institutional allocators. We deliver compliant, risk-adjusted digital asset rewards engineered to meet the legal, custody, and reporting needs of complex financial entities.


How We Help Partners:

  • Launch white-labeled or embedded Earn offerings in weeks
  • Offer passive rewards on stablecoins, BTC, ETH, and more
  • Retain full control over user experience
  • Seamlessly manage treasury or idle user balances
  • Access CeFi + DeFi strategies with institutional-grade risk controls

Who this documentation was built for:

Audience: Frontend developers integrating Boring Vault into their applications Purpose: Enable your users to view vaults, deposit assets, see reporting, and request withdrawals Deployment: Coinchange handles all vault deployment and asset management

Overview

What is Coinchange Vault?

Coinchange Vault is technology & liquidity infrastructure that automates routing of digital assets into curated on-chain and exchange venues. It’s built on a Veda-style vault architecture (forked and extended) and exposed through a React SDK for fast partner integrations. Rewards are variable and derived from blockchain protocol incentives and CeFi/DeFi strategies across CEX/DEX venues.

Core contracts (per vault)

  • BoringVault — ERC-4626-style share accounting (1 share = claim on the vault’s base asset).
  • TellerWithMultiAssetSupport — handles supplying supported tokens, allowance checks, and share minting.
  • AccountantWithRateProviders — provides asset/share exchange rates with standardized decimals and slippage helpers.
  • DelayedWithdraw — non-instant redemptions via a request → maturity → completion flow (T+1 to T+5 business days).
  • Lens — batched read endpoints (TVL, share price, user positions) to minimize RPC calls.

See Contract Addresses for network-specific addresses and share-lock settings.

React SDK at a glance

We expose a light React layer so you can drop in a Provider and call high-level hooks.

Read helpers

  • isBoringV1ContextReady()
  • fetchTotalAssets() → vault TVL (base asset units, human-readable)
  • fetchShareValue() → value of one share in the base asset
  • fetchUserShares(address) → user share balance (human-readable)
  • fetchUserUnlockTime(address) → unlock timestamp

Supply / redeem helpers

  • deposit(options) with depositStatus (initiated, loading, success, error, tx_hash)
  • delayWithdraw(options)
  • fetchActiveDelayWithdraws(address)
  • delayWithdrawCancel(options)
  • delayWithdrawComplete(options) with withdrawStatus (initiated, loading, success, error, tx_hash)

In prose we say supply and redeem. Function names like deposit and requestWithdraw remain as in the ABI.

Redemption timelines

Redemption requests are processed on a T+1 to T+5 business-day basis through the DelayedWithdraw flow. The SDK surfaces maturity so your UI can enable “Complete” at the right time.

Integrator responsibilities

  • Wallet & RPC: Provide an Ethers signer and a stable RPC for the target network.
  • KYC/allowlist: Some vaults are allowlisted. Check allowlist state before enabling supply.
  • UX states: Show status for approvals, supply, requests, cancellations, and completions.
  • Decimals & slippage: Use SDK helpers; avoid hand-rolled rate/scale math.
  • Compliance language: Position as technology-powered DeFi automation and non-custodial liquidity routing.

Security posture

  • Fully on-chain share accounting; keys remain with users.
  • Independent audits linked on the Code Audits page.
  • Share-lock periods (if any) are documented per vault.
  • Partners should perform their own smart-contract and operational due diligence.

Versioning

  • Contracts: versioned per deployment (see Contract Addresses).
  • SDK: semver (boring-vault-ui). See SDK Examples for imports and usage.

FAQ for Integrators

Q: Do I need to deploy any contracts?

A: No. Coinchange deploys and manages all vault contracts. You only interact with them from your frontend.

Q: What networks are supported?

A: Ethereum Mainnet, Arbitrum, Optimism, Base, and Avalanche. Check Contract Addresses for specific deployments.

Q: Can users withdraw instantly?

A: Most vaults use delayed withdrawals (one to five business days). Some may support instant withdrawals. Check your specific vault configuration.

Q: What wallet libraries should I use?

A: We recommend wagmi or viem for React apps. Any library that supports standard Web3 interactions works.

Q: How do I handle native ETH deposits?

A: Most vaults require WETH (wrapped ETH). You can auto-wrap ETH to WETH in your UI, or use the Teller's native ETH support if available.

Q: What about gas fees?

A: Users pay their own gas fees. Make sure they have enough ETH for gas in addition to their deposit amount.

Q: How do I calculate APY to display?

A: Coinchange typically provides APY data via API or you can calculate based on historical share price changes. Contact your partnership manager for APY data source.

Q: Can vault strategies lose money?

A: Yes. Share price can decrease if strategies lose value. Always show risk disclosures and never guarantee returns.

Q: What if a transaction fails?

A: Common reasons: insufficient gas, slippage too low, user not whitelisted, shares locked. Check error messages and provide user guidance.

Q: Do I need to integrate all contracts?

A: At minimum: BoringVault (shares), Teller (deposit), Accountant (rate).




What’s Next