Skip to main content

⚙ Basic settings

In this section You will learn how to customize your widget step by step.


If you are not interested in customization, the instructions in the Quick Start section are enough for you to launch your widget.

Let's start 👇

This is the widget with default settings, exactly what you would get from the Quick Start section.

We will customize the code step by step to update the widget according to your brand and preferences.


  • JS is the code to use the widget on a HTML project.
  • React is the code to use in a React project.

If you are using the Next.js framework on your website then please adjust your next.config.js file as shown here. Replace the text within "[]" with '@polyswapai/widget'.


You can edit the code at each step, but we suggest you follow the whole walkthrough so that at the end you will have a fully functional widget. Afterwards, you can add even more customization.

Change primary color

Changing the color is as easy as specifying the primaryColor field, more UI customization options will follow later in Advanced UI overrides.

Default slippage

You can set a default slippage value for your widget using defaultSlippage. If this is not specified, the widget will default to 0.5%.

Add tokens

You can extend our available token lists with an array of token objects in predefinedTokens. Each token object must have the fields address, name, symbol, logoURI, decimals, chainId, and hasTransactionFees.

The field hasTransactionFees must be set to true if the token has a built-in fee/tax on transfers, otherwise transactions will fail. If the token is a plain ERC-20 token, then set it to false.

Note that 8451113 is used for the Chain ID for Solana.


If not specified, only the tokens in our lists will be available.


You can customize the list of tokens by adding or removing them. To remove a token, you can use the hideTokens field and provide an array of strings representing the symbol of the tokens you wish to hide.

hideTokens:['token symbol 1','token symbol 2']

Default preselected and pinned tokens

You can specify the default preselected tokens for each chain by using defaultSelectedTokenByChains.


If not specified, the native coin of the chain will be preselected as input token. An output token will not be shown if it is not specified.

You can also select default pinned tokens by using defaultPinnedTokens. These tokens appear at the top of the token list for easy access.

Add affiliate fees

To activate affiliate fees, you will need to specify both a percentage value and the wallet to which the affiliate fees should be sent. The affiliate fee can be between 0% and 2%, and decimal numbers are allowed.

If you specify the affiliateFeeRecipient parameter, fees from all chains will be collected in the specified wallet. To specify different wallets for each chain, you can add the affiliateFeeRecipientByChains parameter.


affiliateFeeRecipientByChains parameter is required to collect fees on Solana. Note that 8451113 is used for the Chain ID for Solana.

Manage chains

You can select the available chains for the widget as well as the default preselected one.


If not specified, all of the available chains will be active and the default chain will be Polygon.

Here we only turn on Solana and Polygon and we set Solana as default chain.

Note that 8451113 is used for the Chain ID for Solana.


To recap, in this walkthrough you learned how to 👇

  • Change the primary color,
  • Add tokens to the already available ones and change the pinned ones,
  • Specify a default slippage value,
  • Add affiliate fees, and
  • Manage the chains available.

This then leads you to the following widget and code.👇

Advanced UI customization

Head over to Advanced UI overrides to learn how to customize the design further to meet your branding needs.