+ Use cases / calculator +
++ Payment Cost Calculator +
++ Estimate monthly costs for a private-payment scenario, then share the exact chain, + volume, and average payment assumptions from the URL. +
++ {t('costCalculator.description', { + defaultValue: + 'Model a monthly payment scenario, compare network fees with a documented stealth-generation overhead assumption, and share the exact scenario from the URL.', + })} +
++ {t('costCalculator.networkFees', { defaultValue: 'Estimated network fees' })} +
++ {formatUsd(totals.networkFees, locale)} +
++ {t('costCalculator.perPayment', { + defaultValue: '{{fee}} per payment', + fee: formatUsd(selectedChain.networkFeeUsd, locale), + })}{' '} + · {selectedChain.sourceLabel} ·{' '} + + {t('costCalculator.feeSource', { defaultValue: 'fee source' })} + +
++ {t('costCalculator.stealthOverhead', { + defaultValue: 'Modelled stealth generation overhead', + })} +
++ {formatUsd(totals.stealthOverhead, locale)} +
++ {t('costCalculator.overheadNote', { + defaultValue: + '{{fee}} per payment · documented calculator assumption, not an on-chain protocol fee', + fee: formatUsd(STEALTH_OVERHEAD_USD_PER_PAYMENT, locale), + })} +
++ {t('costCalculator.monthlyTotal', { defaultValue: 'Estimated monthly total' })} +
++ {formatUsd(totals.monthlyTotal, locale)} +
++ {t('costCalculator.monthlyContext', { + defaultValue: + 'Across {{payments}} payments and {{volume}} in monthly payment volume.', + payments: scenario.paymentsPerMonth.toLocaleString(locale), + volume: formatUsd(totals.monthlyVolume, locale), + })} +
++ {t('costCalculator.disclaimer', { + defaultValue: + 'Estimates are directional. Network fees can change with chain conditions; source notes identify the planning constants used by this calculator. Canonical chain data will replace the temporary adapter when #127 lands.', + })} +
+
+
+ WRAITH
+
+
+ + Use cases / calculator +
++ Estimate monthly costs for a private-payment scenario, then share the exact chain, + volume, and average payment assumptions from the URL. +
+