Skip to Content
BetSwirl Affliate program is released ๐ŸŽ‰
Developer Hubโ–ถ๏ธ DemosUI ReactCheck Available Tokens

How to Check Available Tokens

This guide explains how to find which tokens are available for betting in the BetSwirl protocol on different blockchain networks. It is only useful if you want to filter the tokens available on your app. By default, all tokens are displayed.

Note: This library supports multiple blockchain networks. See the list below for all supported chains.

Bank Contract Addresses

The Bank contract manages all available tokens. Here are the addresses by network:

Mainnet Networks (Same Address)

All mainnet networks use the same Bank contract address: 0x8FB3110015FBCAA469ee45B64dcd2BdF544B9CFA

Testnet Networks

Step-by-Step Guide to Check Tokens

1. Open the Block Explorer

Choose the appropriate block explorer for your network:

Mainnet:

Testnet:

2. Navigate to the Bank Contract

  1. Paste the Bank contract address in the search bar
  2. Click on the address to open the contract page
  3. Click on the โ€œContractโ€ tab
  4. Click on โ€œRead Contractโ€ (not Write Contract)

3. Find and Call getTokens()

  1. Look for the function called getTokens in the list
  2. Click on it to expand
  3. Click the โ€œQueryโ€ button (no wallet connection needed)

4. Understanding the Response

Youโ€™ll get an array of tuples. Each tuple represents a token with this structure:

[decimals, address, name, symbol, allowed, paused, balanceRisk, ...]

Example response from Base:

[ [18, 0x0000000000000000000000000000000000000000, "ETH", "ETH", true, false, 200, ...], [18, 0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed, "Degen", "DEGEN", true, false, 1000, ...], [6, 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, "USD Coin", "USDC", true, false, 200, ...] ]

Field Explanation

IndexFieldDescription
0decimalsToken decimals (18 for most, 6 for USDC)
1addressToken contract address
2nameFull token name
3symbolToken symbol
4allowedtrue if token is allowed for betting
5pausedtrue if token is temporarily disabled
6balanceRiskRisk percentage in basis points

Using Tokens in Your Code

Once you know which tokens are available, you can use them in your app:

import type { TokenWithImage } from '@betswirl/ui-react' import { base, polygon, arbitrum } from 'wagmi/chains' // Example token configuration const tokens = [ "0x0000000000000000000000000000000000000000", // Native token (ETH on Base, MATIC on Polygon, etc.) "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed", // DEGEN (Base) "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC (Base) ] as Hex[] // Use in BetSwirlSDKProvider with multi-chain support <BetSwirlSDKProvider initialChainId={base.id} supportedChains={[base.id, polygon.id, arbitrum.id]} filteredTokens={[DEGEN_TOKEN.address, NATIVE_TOKEN.address]} // Optional: limit available tokens > <YourApp /> </BetSwirlSDKProvider>

Token Filtering

The filteredTokens prop allows you to control which tokens are available for users to select in your application.

How Token Filtering Works

  1. Without filtering - All active tokens from the Bank contract are available
  2. With filtering - Only tokens whose addresses are in the filteredTokens array are available
  3. Invalid addresses - Tokens not found in the Bank contract of the current chain are automatically excluded

Common Use Cases

Limit to specific tokens for your application:

// Example: Only allow ETH, USDC, and DEGEN const ALLOWED_TOKENS = [ "0x0000000000000000000000000000000000000000", // ETH "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed", // DEGEN ] <BetSwirlSDKProvider initialChainId={base.id} filteredTokens={ALLOWED_TOKENS} > <App /> </BetSwirlSDKProvider>

Dynamic Token Filtering

You can change the filtered tokens dynamically based on application state:

const [filteredTokens, setFilteredTokens] = useState<string[]>([ "0x0000000000000000000000000000000000000000", // ETH "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC ]) // Update filtering based on user action const showAllTokens = () => setFilteredTokens(undefined) const showStableOnly = () => setFilteredTokens([ "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC ]) return ( <BetSwirlSDKProvider initialChainId={base.id} filteredTokens={filteredTokens} > <App /> </BetSwirlSDKProvider> )

Available Tokens by Network (as of November 2025)

Base

  • ETH - Native token (0x0000000000000000000000000000000000000000)
  • DEGEN - 0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed
  • USDC - 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
  • BETS - 0x94025780a1aB58868D9B2dBBB775f44b32e8E6e5
  • PEPE - 0x52b492a33E447Cdb854c7FC19F1e57E8BfA1777D

Other Networks

Check using the steps above as token availability may vary by network.

Last updated on