Appearance
Summary
Success-screen data after a completed wallet deposit. getCompletedTransactionSummary() returns null until that happens. After a completed payment, call restartSession() before starting another one — connections stay.
React: useWalletCompletedTransactionSummary runs the steps below for you.
How to use it (client)
The session already has the crypto amounts, addresses, and tx hash. Two fields are often still empty until you ask for them:
- Network fees on a direct EVM / Solana send — the host has to read the chain
- Fiat (
formatted.fiatValue) — the quotes API
Paint the sync summary first, then fill fees and rates:
ts
let summary = client.wallets.transfer.getCompletedTransactionSummary();
if (!summary) {
// no wallet completion on this session
}
if (client.wallets.transfer.needsCompletedTransactionFeeEnrichment()) {
summary = await client.wallets.transfer.ensureCompletedTransactionFees();
}
summary = await client.wallets.transfer.ensureCompletedTransactionRates();getCompletedTransactionSummary() does not throw. null means there is no wallet completion on the current session.
ensure* is best-effort and idempotent. If the host or quotes call fails, you still get the same summary — fees may stay [] and fiatValue may stay null.
You do not need the fee check on swap, bridge, Bitcoin, or sponsored sends — needsCompletedTransactionFeeEnrichment() is already false there.
If you do not care about progressive paint, still use the snippet above: await both ensure* calls, then render once.
| What | When it is ready |
|---|---|
| Amounts, addresses, hash | getCompletedTransactionSummary() |
| Direct network fee | ensureCompletedTransactionFees() |
| Fiat on send / receive / token fees | ensureCompletedTransactionRates() |
Methods
| Method | Returns |
|---|---|
getCompletedTransactionSummary() | WalletCompletedTransactionSummary | null — sync, may still miss fees / fiat |
ensureCompletedTransactionFees() | Same type, with direct network fees filled when the host can read them |
ensureCompletedTransactionRates() | Same type, with fiat filled when quotes are available |
needsCompletedTransactionFeeEnrichment() | true only when a direct EVM / Solana fee fetch is still worth running |
resetCompletedSummary() | Clear cached fees / rates. restartSession() already calls this |
WalletCompletedTransactionSummary
Shared fields:
| Field | Meaning |
|---|---|
flow | 'direct' | 'swap' | 'bridge' |
provider | Wallet provider |
send / receive | WalletCompletedAmount — amount, currency, network, fiatValue, formatted.amount, formatted.fiatValue |
destination | Deposit address (address, formatted, network, explorerUrl) |
transaction | Tx hash (hash, formatted, network, explorerUrl) |
from / to | Addresses with the same shape as destination |
fees | WalletCompletedFee[] — kind: 'token' | 'fiat', type: 'network' | 'swap' | 'merchant' |
isSponsored | Gas was sponsored |
Primary receipt fields: send, receive, destination, tx hash + explorer, fees.
Support / debug only (omit from the success screen): sessionId, swapRequestId (flow === 'swap'), bridgeOrderId (flow === 'bridge').