Bridge fee in TNZO.
BridgeFeeOracle quotes the destination-native fee in TNZO; the BridgeFeeSponsor debits the user’s account and credits a deterministic per-adapter sponsorship-pool vault. A registered solver or relayer fronts the destination native fee against the pool.- STATUS
- Substrate live; per-adapter wiring in progress
- CRATE
- tenzro-bridge
- STABILITY
- Stable substrate
- REFERENCE
- Cosmos ICS-29 / Hyperlane IGP / Polkadot AssetHub
Quote
Request a TNZO quote for the destination-native fee. The quote envelope carries the TNZO debit due, the spot rate at quote time, a TTL bound (default 60s), the backing oracle (chainlink_feed / governance / fallback), and a globally-unique quote id.
POST https://rpc.tenzro.network
{
"jsonrpc": "2.0",
"id": 1,
"method": "tenzro_quoteBridgeFeeInTnzo",
"params": [{
"adapter": "ccip",
"dest_chain": "eip155:1",
"native_fee_smallest_unit": "1000000000000000"
}]
}Sponsorship pools
Each bridge adapter has a deterministic per-adapter pool vault address. The 20-byte address is computed as SHA-256("tenzro/bridge/sponsorship-vault" || adapter_str)[0..20] — same across every Tenzro node, survives all restarts.
POST https://rpc.tenzro.network
{
"jsonrpc": "2.0",
"id": 1,
"method": "tenzro_listBridgeSponsorshipPools",
"params": []
}Fee oracles
Two oracle backings ship today. GovernanceSetFeeOracle reads operator-published per-(adapter, dest_chain) rate rows; mirrors Hyperlane’s StorageGasOracle (no on-chain price feed dependency). ChainlinkFeedFeeOracle derives the rate from (destination_native / USD) and (TNZO / USD)data feeds; falls back to the inner governance oracle when a feed isn’t configured. A markup (default 100 bps, governance-tunable) covers FX slippage.
Per-bridge wiring
Per-adapter wiring priority reflects each bridge’s native fee-token capability:
- CCIP —
Router.ccipSend()already accepts a feeToken argument; register TNZO on the Tenzro-side Router. - Hyperlane— custom
TnzoIgpimplementingIPostDispatchHookas the Tenzro-side default hook. - deBridge— already source-chain native; TNZO is the source input.
- Wormhole— wrap
paymentForExtraReceiverValuebehind the sponsor. - LayerZero— OFT-Alt style TNZO feeToken on Endpoint deployment.
- Axelar— use
payGasForContractCall(gasToken=TNZO)ERC-20 path.