This page details your widget configuration options. Tweak it to fit your exact user experience needs!
Widget
component accepts the following props.
defaultRoute
amountIn
: Preset input amount for exact amount in request.amountOut
: Preset output amount for exact amount out request. If both specified, only amountIn
is used.srcChainId
: Source chain ID.srcAssetDenom
: Source asset denomination.destChainId
: Destination chain ID.destAssetDenom
: Destination asset denomination.routeConfig
allowMultiTx
: Allow multi-transaction routes. Default: true.allowUnsafe
: Allow unsafe routes. Default: false. More info.bridges
: Restrict routing to specific bridges. Default: empty (all bridges).swapVenues
: Restrict routing to specific swap venues. Default: empty (all venues).goFast
: Enable Go Fast transfers. Default: false. More info.smartSwapOptions
: Advanced swapping features like EVM Swaps and split trade routes. More info.batchSignTxs
true
batchSignTxs: true
:
For a route: Solana → Noble → Cosmos (3 transactions requiring signatures)
filter
filterOut
settings
customGasAmount
: Gas amount for CosmosSDK chain transactions. Default: 300_000
.slippage
: Default slippage percentage (0-100) for CosmosSDK chain swaps. Default: 1
.onlyTestnet
onlyTestnet
: Boolean to show only testnet data. Default: false (mainnet data only).
endpointOptions
apiUrl
brandColor
borderRadius
theme
chainIdsToAffiliates
enableSentrySessionReplays
enableAmplitudeAnalytics
disableShadowDom
hideAssetsUnlessWalletTypeConnected
callbacks
onWalletConnected
: Called when a wallet is connected.onWalletDisconnected
: Called when a wallet is disconnected.onTransactionBroadcasted
: Called when a transaction is broadcasted. This is called multiple times for multi-transaction routes.onTransactionComplete
: Triggered when a transaction is completed.onTransactionFailed
: Triggered when a transaction fails.connectedAddresses
& signers
connectedAddresses
and corresponding signer functions in order to enable the widget’s injected wallet functionality.
See an implementation example here.
WalletClient
comes from the viem
package. Adapter
comes from the @solana/wallet-adapter-base
package. And OfflineSigner
comes from the @cosmjs
package.
Record<ChainId, Address>
getCosmosSigner(): Promise<OfflineSigner>
Returns a Cosmos-compatible signer.
getEvmSigner(): Promise<WalletClient>
Returns an EVM-compatible signer (e.g., from viem
).
getSvmSigner(): Promise<PhantomWalletAdapter>
Returns a Solana-compatible signer, such as a PhantomWalletAdapter
.