Skip to content

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.

WhatWhen it is ready
Amounts, addresses, hashgetCompletedTransactionSummary()
Direct network feeensureCompletedTransactionFees()
Fiat on send / receive / token feesensureCompletedTransactionRates()

Methods ​

MethodReturns
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:

FieldMeaning
flow'direct' | 'swap' | 'bridge'
providerWallet provider
send / receiveWalletCompletedAmount - amount, currency, network, fiatValue, formatted.amount, formatted.fiatValue
destinationDeposit address (address, formatted, network, explorerUrl)
transactionTx hash (hash, formatted, network, explorerUrl)
from / toAddresses with the same shape as destination
feesWalletCompletedFee[] - kind: 'token' | 'fiat', type: 'network' | 'swap' | 'merchant'
isSponsoredGas 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').