Skip to content

@swapped/connect-sdk / core / WalletsTransfer

Interface: WalletsTransfer

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

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

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

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

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

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

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

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

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. Fiat (when rates are known) is also ceiled to cents.

Parameters

plan

WalletTransferPlan

Returns

Promise<WalletTransferMinAmount>


getPlan()

getPlan(request): Promise<WalletTransferPlan>

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

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).

Parameters

request

GetWalletTransferPlanRequest

Returns

Promise<WalletTransferPlan>


getPlanSync()

getPlanSync(request): WalletTransferPlan | null

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

Sync: return a plan when it can be built without network I/O, else null. Today that is only a direct session-wallet match. 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:401

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

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

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

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

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

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

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

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>