Skip to main content
Contracts not yet deployedBTCY contracts are deploying to Ethereum Mainnet. This page will be updated with verified addresses upon deployment.

Ethereum Mainnet

ContractAddressStandard
iBTCYTBDERC-20
BTCYTBDERC-4626

Verification

All contracts will be verified on Etherscan upon deployment.

Audit

Smart contracts have been audited by Cyfrin (February 2026). All identified issues were resolved prior to deployment. Audit report will be linked here when publicly available.

Contract Architecture

iBTCY (ERC-20)

The primary token representing investor positions. Key features:
  • Transfer-restricted to whitelisted addresses
  • Mintable/burnable by authorized multisig
  • Admin freeze capability for compliance
  • Pausable minting and instant redemptions

BTCY (ERC-4626)

The wrapper vault enabling DeFi composability. Key features:
  • 1:1 backed by iBTCY
  • Standard ERC-4626 interface
  • Permissionless transfers (no whitelist)
  • No wallet-level admin freeze on transfers (permissionless transfer design)
  • Vault-level emergency pause may apply for critical security events (see audited contracts)

iBTCY Compliance Controls

iBTCY supports issuer-side compliance controls (for example freeze or compulsory redemption scenarios) where required by law or the Transaction Documents. These apply at the iBTCY layer, not to permissionless BTCY transfers under normal operations.

Multisig & Upgradeability

Contracts are governed by a multi-party multisig with timelocks for material changes. Investors receive advance notice of upgrades.
Contract upgrade governance includes advance notice to investors, allowing redemption before changes take effect.

Integration Example

Once deployed, basic integration looks like:
// BTCY is ERC-4626 compliant
IERC4626 btcy = IERC4626(BTCY_ADDRESS);

// Share-to-iBTCY rate (ERC-4626; implementation-defined)
uint256 iBTCYPerShare = btcy.convertToAssets(1e18);

// iBTCY-to-BTC economic exposure uses the NAV oracle (see /developers/oracles)

// Deposit iBTCY, receive BTCY
btcy.deposit(amount, receiver);

// Withdraw iBTCY (receiver must satisfy issuer rules for restricted assets)
btcy.withdraw(assets, receiver, owner);

Updates

This page will be updated when:
  • Contracts are deployed to mainnet
  • Audit report is published
  • Additional integrations are supported

Oracles & PoR

NAV oracle and Proof of Reserves feeds

Available only to eligible professional/qualified investors on an invite-only basis, subject to onboarding and compliance approval. For informational purposes only and not investment advice. Not an offer to the public or a solicitation where unlawful. No retail distribution. Not available to US Persons.Disclaimers · Platform and issuer