Web App

Portfolio

Your credit holdings (indicative value) and onchain activity for the connected wallet, read directly from the chain.

Route: /app/portfolio. A holdings view with shortcuts to sell and retire. It sends no transactions and shows only real onchain data: there is no sample data and no investments tab.

Indicative values only

Values are tonnes held × the oracle price. They are not a market valuation or a cost basis. On testnet the oracle uses a mock Functions router and usually has no price, so the value can be unavailable.

What it shows

ElementSource
Indicative Value cardSum of your NFT tonnes × CarbonPriceOracle.getLatestPrice(methodology). Hidden as ***** until you press Show Values.
Credits Held cardActive (non-retired) NFT tonnes in your wallet
Credits Retired cardTonnes retired by this wallet (userRetiredTonnes)
Overview tabAllocation chart by tonnes (your own holdings)
Assets tabOnchain NFT credits you own (balanceOf, tokenOfOwnerByIndex, credits(tokenId)), non-retired only, each with quantity, oracle price and indicative value
Transactions tabEvents for your wallet read from event logs: mint, retire, wrap, unwrap, order created / filled / cancelled, auction created / bid / finalized / cancelled, each with an explorer link. A banner warns when some history could not be loaded.

The event scan starts at NEXT_PUBLIC_DEPLOY_BLOCK when set; otherwise only recent blocks are read.

Actions

ButtonDoes
Sell on an assetNavigates to Sell Credits.
Retire on an assetDeep-links to Carbon Wallet with the retire dialog open for that token.

States

StateBehaviour
Wallet not connectedPrompt to connect.
LoadingSkeleton stat cards.
Connected, no credits"No carbon credits in your wallet yet."
Event history partly unavailableThe Transactions tab shows a warning that the list may be incomplete.