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>