Skip to content

@swapped/connect-sdk / core / WalletsTransfer

Interface: WalletsTransfer ​

Defined in: src/modules/wallets/transfer/transfer.module.ts:110

Wallet deposit facade: resolve a plan, quote, submit, and register.

Dispatches quote / submit / min-amount to the matching flow handler (direct, swap, or bridge) based on WalletTransferPlan.flow.

Methods ​

ensureCompletedTransactionFees() ​

ensureCompletedTransactionFees(): Promise<WalletCompletedTransactionSummary | null>

Defined in: src/modules/wallets/transfer/transfer.module.ts:225

Best-effort host fee enrichment for direct completions when fees are empty. Idempotent; safe to call from React on session load.

Returns ​

Promise<WalletCompletedTransactionSummary | null>


ensureCompletedTransactionRates() ​

ensureCompletedTransactionRates(): Promise<WalletCompletedTransactionSummary | null>

Defined in: src/modules/wallets/transfer/transfer.module.ts:242

Best-effort fiat quote enrichment for send / receive / token fees. Idempotent; safe to call from React on session load.

Returns ​

Promise<WalletCompletedTransactionSummary | null>


executeBridge() ​

executeBridge(request): Promise<WalletTransferResult>

Defined in: src/modules/wallets/transfer/transfer.module.ts:600

Submit a bridge transfer. Prefer submit unless you need a typed entrypoint.

Parameters ​

request ​

ExecuteWalletTransferRequest

Returns ​

Promise<WalletTransferResult>


executeDirect() ​

executeDirect(request): Promise<WalletTransferResult>

Defined in: src/modules/wallets/transfer/transfer.module.ts:569

Submit a direct transfer. Prefer submit unless you need a typed entrypoint.

Parameters ​

request ​

ExecuteWalletTransferRequest

Returns ​

Promise<WalletTransferResult>


executeSwap() ​

executeSwap(request): Promise<WalletTransferResult>

Defined in: src/modules/wallets/transfer/transfer.module.ts:585

Submit a swap transfer. Prefer submit unless you need a typed entrypoint.

Parameters ​

request ​

ExecuteWalletTransferRequest

Returns ​

Promise<WalletTransferResult>


getCompletedTransactionSummary() ​

getCompletedTransactionSummary(): WalletCompletedTransactionSummary | null

Defined in: src/modules/wallets/transfer/transfer.module.ts:205

Display-ready summary of a completed wallet deposit.

Built from session transactionData (reload / reopen). Direct network fees / fiat rates may be filled after ensureCompletedTransactionFees / ensureCompletedTransactionRates.

Returns ​

WalletCompletedTransactionSummary | null


getMinAmount() ​

getMinAmount(plan): Promise<WalletTransferMinAmount>

Defined in: src/modules/wallets/transfer/transfer.module.ts:444

Minimum transferable amount in source token units, ceiled to the token's display decimals so the shown min is always enterable.

Direct: session destination min (same asset). Swap/bridge: destination min converted via fiat rates (destMin * destRate / sourceRate), then ceiled. Always at least the source token's display-dust (getTokenMinAmount, e.g. 0.000001 ETH). Fiat (when a rate is known) is ceiled to maxFiatDecimals.

Parameters ​

plan ​

WalletTransferPlan

Returns ​

Promise<WalletTransferMinAmount>


getPlan() ​

getPlan(request): Promise<WalletTransferPlan>

Defined in: src/modules/wallets/transfer/transfer.module.ts:343

Pick a deposit route for a connected wallet + token. Priority: direct (session wallet) → swap → bridge → unavailable.

Tries getPlanSync first. If that returns null, loads swap/bridge support (or uses cache). Requires a cached balance row for source.decimals; throws ConnectSdkErrorCode.WALLET_TRANSFER_INVALID_TOKEN when it is missing.

Parameters ​

request ​

GetWalletTransferPlanRequest

Returns ​

Promise<WalletTransferPlan>


getPlanSync() ​

getPlanSync(request): WalletTransferPlan | null

Defined in: src/modules/wallets/transfer/transfer.module.ts:286

Sync: return a plan when it can be built without network I/O, else null. Today that is only a direct session-wallet match with cached source decimals. Never calls swap/bridge APIs. Used by getPlan and React plan hooks.

Parameters ​

request ​

GetWalletTransferPlanRequest

Returns ​

WalletTransferPlan | null


getQuote() ​

getQuote(request): Promise<WalletTransferQuote>

Defined in: src/modules/wallets/transfer/transfer.module.ts:419

Quote a resolved plan for a human-readable amount. Delegates to the flow handler for plan.flow.

Parameters ​

request ​

WalletTransferQuoteRequest

Returns ​

Promise<WalletTransferQuote>


needsCompletedTransactionFeeEnrichment() ​

needsCompletedTransactionFeeEnrichment(): boolean

Defined in: src/modules/wallets/transfer/transfer.module.ts:256

Whether direct host fee enrichment should run for the current summary.

Returns ​

boolean


on() ​

on(event, handler): () => void

Defined in: src/modules/wallets/transfer/transfer.module.ts:541

Listen for transfer status events. Per-call alternative: pass onStatus to submit.

Parameters ​

event ​

"transferStatus"

handler ​

(payload) => void

Returns ​

() => void


prefetchTransferCurrencies() ​

prefetchTransferCurrencies(): Promise<void>

Defined in: src/modules/wallets/transfer/transfer.module.ts:406

Warm RTK cache for swap + bridge supported currencies. Optional - call early (e.g. when entering a wallets/deposit UI) so a later non-direct getPlan can reuse the cache.

Returns ​

Promise<void>


resetCompletedSummary() ​

resetCompletedSummary(): void

Defined in: src/modules/wallets/transfer/transfer.module.ts:272

Clear cached host fee / rate enrichment (e.g. on session restart).

Returns ​

void


retry() ​

retry(options?): Promise<WalletTransferResult>

Defined in: src/modules/wallets/transfer/transfer.module.ts:615

Retry a transfer that already sent and returned requires_retry.

Parameters ​

options? ​

RetryWalletTransferOptions

Returns ​

Promise<WalletTransferResult>


submit() ​

submit(request): Promise<WalletTransferResult>

Defined in: src/modules/wallets/transfer/transfer.module.ts:557

Submit the transfer for a resolved plan. Prefer this over executeDirect / executeSwap / executeBridge. Throws ConnectSdkErrorCode.WALLET_TRANSFER_REQUIRES_RETRY if a previous submit already returned requires_retry - call retry.

Parameters ​

request ​

ExecuteWalletTransferRequest

Returns ​

Promise<WalletTransferResult>


validateAmount() ​

validateAmount(request): Promise<WalletTransferValidation>

Defined in: src/modules/wallets/transfer/transfer.module.ts:503

Validate a human source crypto amount against the plan (flow, parse, min). Uses getMinAmount so swap/bridge mins are source-denominated. Does not throw - returns { ok: false, code, message } on failure.

Parameters ​

request ​
amount ​

string

Human-readable amount in source crypto (the token the user is sending)

plan ​

WalletTransferPlan

Returns ​

Promise<WalletTransferValidation>