> ## Documentation Index
> Fetch the complete documentation index at: https://sequence-0fb8d9e6-codex-update-discord-invite.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetching Fee Options

<Warning>
  Fee selection is only necessary if you aren't already using Sequence Builder's gas sponsorship capabilities!
  Create your project in Sequence Builder for ease of development today!
</Warning>

<CodeGroup>
  ```typescript Typescript theme={null}
  import { Session } from '@0xsequence/auth'
  import { ethers } from 'ethers'

  const config = {
    mnemonic: 'YOUR MNEMONIC',
    projectAccessKey: 'YOUR PROJECT ACCESS KEY',
    chainId: ChainId.YOUR_CHAIN_ID // e.g. ChainId.MAINNET, ChainId.POLYGON, etc.
  }

  const signer = ethers.Wallet.fromMnemonic(config.mnemonic)

  const session = await Session.singleSigner({ signer, projectAccessKey: config.projectAccessKey })

  const account = session.account.getSigner(config.chainId, {
    async selectFee(_transactions, options) {
      // This callback is called with the list of candidate fee options.

      console.log('Fee options:', JSON.stringify(options, undefined, 2))

      // Select the USDC fee option.
      return options.find(option => option.token.symbol === 'USDC')
    }
  })
  ```

  ```go Go theme={null}
  mnemonic := "YOUR MNEMONIC"
  projectAccessKey := "YOUR PROJECT ACCESS KEY"
  rpcURL := fmt.Sprintf("https://nodes.sequence.app/YOUR-NETWORK/%v", projectAccessKey)
  relayerURL := "https://YOUR-NETWORK-relayer.sequence.app"

  signer, _ := ethwallet.NewWalletFromMnemonic(mnemonic)

  wallet, _ := sequence.NewWalletSingleOwner(signer)

  provider, _ := ethrpc.NewProvider(rpcURL)
  wallet.SetProvider(provider)

  relayer, _ := relayer.NewRpcRelayer(relayerURL, projectAccessKey, provider, nil)
  wallet.SetRelayer(relayer)

  transactions := sequence.Transactions{
    &sequence.Transaction{
      To:    common.HexToAddress("0x468E8e29F6cfb0F6b7ff10ec6A1AB516ec849c04"),
      Value: big.NewInt(1000000000000000000),
    },
  }

  options, quote, _ := wallet.FeeOptions(ctx, transactions)
  ```
</CodeGroup>
