Skip to main content
BTCY uses a Chainlink NAV oracle on Ethereum mainnet. A separate on-chain Proof of Reserves feed is planned and not yet deployed.

Overview

ParameterValue
ProviderChainlink
Update FrequencyDaily
Data SourceAccountable
NetworkEthereum Mainnet

Feed Address

0x5a33E6CB085E2DdD0df558c0D7d71a27be6b9131
Etherscan

Data Format

The NAV feed provides:
  • NAV per iBTCY token (in BTC, 18 decimals)
  • Timestamp of last update

Reading NAV On-Chain

// Chainlink Aggregator interface
AggregatorV3Interface navFeed = AggregatorV3Interface(NAV_FEED_ADDRESS);

(
    uint80 roundId,
    int256 navPerToken,
    uint256 startedAt,
    uint256 updatedAt,
    uint80 answeredInRound
) = navFeed.latestRoundData();

// NAV is in BTC with 18 decimals
// Example: 1.05e18 = 1.05 BTC per token

Staleness Handling

Integrators should implement staleness checks. Stale NAV data may indicate operational issues. Contact us for integration guidance.

Proof of Reserves

Overview

ParameterValue
ProviderChainlink + Accountable
Update FrequencyMonthly
AttestationTotal backing ≥ total supply × NAV

Feed Address

The PoR on-chain feed is not live yet. It will be a separate contract from the NAV oracle. This page will be updated when deployed.
PoR Feed: Not yet deployed
Monthly attestation status is available on the Proof of Solvency dashboard until the on-chain feed is live.

What It Verifies

The Proof of Reserves attestation confirms:
Buffer BTC (Archax) + SSBAF Units * SSBAF NAV >= iBTCY Supply * NAV per Token
ComponentSource
Buffer BTCArchax custody balance
SSBAF NAVSygnum official NAV
iBTCY SupplyOn-chain token supply

Reading PoR On-Chain

// Chainlink PoR interface
AggregatorV3Interface porFeed = AggregatorV3Interface(POR_FEED_ADDRESS);

(
    uint80 roundId,
    int256 reserves,
    uint256 startedAt,
    uint256 updatedAt,
    uint80 answeredInRound
) = porFeed.latestRoundData();

// Compare reserves to total supply
uint256 totalSupply = IERC20(IBTCY_ADDRESS).totalSupply();
uint256 navPerToken = /* from NAV feed */;

bool fullyBacked = reserves >= totalSupply * navPerToken / 1e18;

Integration Recommendations

For Lending Protocols

  1. Use NAV feed for pricing: More accurate than DEX spot price
  2. Implement staleness checks: Pause operations if feed is stale
  3. Consider PoR for risk: Monitor backing ratio
function getBTCYPrice() external view returns (uint256) {
    (, int256 nav,, uint256 updatedAt,) = navFeed.latestRoundData();
    
    // Reject data older than 36 hours (aligns with internal pause band; see /product/transparency)
    require(block.timestamp - updatedAt < 36 hours, "Stale NAV");
    
    return uint256(nav);
}

For DEXs

  1. NAV as reference price: Useful for arbitrage bounds
  2. Expect premium/discount: BTCY may trade off-NAV
  3. Liquidity constraints: Consider redemption capacity

For Risk Monitoring

  1. Track buffer percentage: Available on the Proof of Solvency dashboard
  2. Monitor PoR ratio: Should always be ≥ 100%
  3. Watch for staleness: Indicates potential issues

Dashboard

Real-time NAV and proof-of-solvency metrics are available at aarc.accountable.capital.
MetricWhere to view
Current NAVProof of Solvency dashboard
Buffer %Proof of Solvency dashboard
PoR StatusProof of Solvency dashboard (on-chain PoR feed not yet live)
A public developer API is not available yet. Integrators should read NAV from the on-chain oracle contract. PoR will use a separate contract when deployed.
For general Chainlink integration patterns:

Contract Addresses

View deployed contract addresses

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