RouterSwap2Config
Defined in: protocol-swap2-router/src/swap2/router.ts:47
Options for RouterSwap2Protocol: the providers (or a ready router), route preference and the engine options.
Extends
Section titled “Extends”Swap2EngineConfig
Properties
Section titled “Properties”accountChain?
Section titled “accountChain?”
optionalaccountChain?:string
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:66
Optional account chain identity when the account does not expose a provider.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.accountChain
allowUnlistedTokens?
Section titled “allowUnlistedTokens?”
optionalallowUnlistedTokens?:boolean
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:107
Accept tokens the swap catalog does not list, named by their contract (EVM) or mint (Solana):
tokens the user added at their own risk. Off by default. The source token’s decimals are read
with the account’s getTokenInfo (a fromTokenDecimals that disagrees is refused); an account
without it must be given fromTokenDecimals. Only providers that trade any token (LI.FI,
Uniswap, Balancer, Fynd, Jupiter) quote them, and they have no USD value: the router cannot
judge their price, so show the user the amounts.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.allowUnlistedTokens
decodeTonBody?
Section titled “decodeTonBody?”
optionaldecodeTonBody?: (bocBase64) =>unknown
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:74
Decodes a base64 BoC into a TON Cell for deposits that carry a cell body
(e.g. Omniston escrow payloads). The package deliberately does not depend on
@ton/core; the caller supplies e.g. (b) => Cell.fromBase64(b). Without
it, cell-body deposits fail closed — a TON account treats a string body
as a TEXT COMMENT, which would strand the swap.
Parameters
Section titled “Parameters”bocBase64
Section titled “bocBase64”string
Returns
Section titled “Returns”unknown
Inherited from
Section titled “Inherited from”Swap2EngineConfig.decodeTonBody
fromChain
Section titled “fromChain”fromChain:
string
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:60
CAIP-2 of the chain the bound account lives on (the swap2 source).
Inherited from
Section titled “Inherited from”Swap2EngineConfig.fromChain
maxNetworkFeeBps?
Section titled “maxNetworkFeeBps?”
optionalmaxNetworkFeeBps?:number|bigint
Defined in: core/dist/index-QWdcwE6y.d.ts:429
Maximum acceptable network fee, basis points of the input amount.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.maxNetworkFeeBps
maxProtocolFeeBps?
Section titled “maxProtocolFeeBps?”
optionalmaxProtocolFeeBps?:number|bigint
Defined in: core/dist/index-QWdcwE6y.d.ts:431
Maximum acceptable protocol fee, basis points of the input amount.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.maxProtocolFeeBps
onExecutionPhase?
Section titled “onExecutionPhase?”
optionalonExecutionPhase?: (phase,detail?) =>void
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:62
Progress observer, see Swap2ExecutionPhase.
Parameters
Section titled “Parameters”Swap2ExecutionPhase
detail?
Section titled “detail?”Swap2ExecutionPhaseDetail
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Swap2EngineConfig.onExecutionPhase
prefer?
Section titled “prefer?”
optionalprefer?:"best"|"fastest"
Defined in: protocol-swap2-router/src/swap2/router.ts:62
What swap2() / quoteSwap2() execute when several routes answer: the best (default) or the fastest.
providers?
Section titled “providers?”
optionalproviders?:CrossChainProvider[]
Defined in: protocol-swap2-router/src/swap2/router.ts:49
The providers to aggregate over. Only what the caller installs is bundled.
reviewExecution?
Section titled “reviewExecution?”
optionalreviewExecution?: (plan) =>void|Promise<void>
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:98
Review gate: called once the live quote is built and every payload/value
check has passed, BEFORE any approval or signature. It receives a copy of
exactly what will be signed; throwing (the user cancelled) aborts with
nothing sent. A quote that expires while the gate is open is refused
before the first approval. When the quote expires while the engine’s own
approval is being mined, the engine re-quotes once; if the fresh quote
differs from the reviewed one (payload, gas, a worse output) the gate is
called again with requoted: true, and throwing then revokes the allowance.
Parameters
Section titled “Parameters”Swap2ExecutionPlan
Returns
Section titled “Returns”void | Promise<void>
Inherited from
Section titled “Inherited from”Swap2EngineConfig.reviewExecution
router?
Section titled “router?”
optionalrouter?:CrossChainRouter
Defined in: protocol-swap2-router/src/swap2/router.ts:54
Or a ready auction engine (e.g. to share one between protocols or tune its
score weights). Exactly one of providers / router is required.
serializedNativeAllowance?
Section titled “serializedNativeAllowance?”
optionalserializedNativeAllowance?:string|number|bigint
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:81
Provider-SERIALIZED legs (a swap aggregator’s fully built Solana transaction): how much native coin, in base units, the account may lose on top of the swap input — rent for a destination token account, wrapped SOL juggling, priority fees. Default 20 000 000 lamports (0.02 SOL).
Inherited from
Section titled “Inherited from”Swap2EngineConfig.serializedNativeAllowance
skipAccountChainCheck?
Section titled “skipAccountChainCheck?”
optionalskipAccountChainCheck?:boolean
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:64
Explicit escape hatch for adapters that can prove chain binding elsewhere.
Inherited from
Section titled “Inherited from”Swap2EngineConfig.skipAccountChainCheck
tieBand?
Section titled “tieBand?”
optionaltieBand?:number
Defined in: protocol-swap2-router/src/swap2/router.ts:60
Fraction of the best value inside which routes tie on price (default 0.002).
tonGasCeiling?
Section titled “tonGasCeiling?”
optionaltonGasCeiling?:string|number|bigint
Defined in: protocol-swap2-core/dist/swap2/base.d.ts:87
The most nanoTON a TON cell-body deposit may attach as gas: on top of the input for a native source, the whole attached value for a jetton source (default 1 TON; live Omniston swaps attach 0.1–0.4). A build attaching more is refused (scan 2026-10-27 modules, F7).
Inherited from
Section titled “Inherited from”Swap2EngineConfig.tonGasCeiling
valueUsd?
Section titled “valueUsd?”
optionalvalueUsd?: (quote,params) =>number|null
Defined in: protocol-swap2-router/src/swap2/router.ts:58
Net USD value of a quote for a router built from providers — see usdValue(prices).
Parameters
Section titled “Parameters”params
Section titled “params”Returns
Section titled “Returns”number | null
weights?
Section titled “weights?”
optionalweights?:string
Defined in: protocol-swap2-router/src/swap2/router.ts:56
Order inside a price tie for a router built from providers, e.g. “price:0.7,speed:0.2,reliability:0.1”.