← Home
📖 The Complete Reference

The TXCL Book

Everything you need to know to use, build on, or operate the TXCL Chain ecosystem — from connecting MetaMask to running the bridge relayer.

📅 v1.0 · May 2026 🌐 tradexcele.cloud 🔗 Chain ID 47294 📜 ~50 pages

Preface

This book documents the entire TXCL ecosystem: a public EVM-compatible blockchain, a 2-way cross-chain bridge to BNB Smart Chain, a native automated market-maker DEX, and a self-custody web wallet — all built and deployed by the TradeXcele team.

It is structured as five parts:

How to read this book: Skip to whichever chapter matches your role. Users can read Parts I & II. Devs add Part III. Ops/admins add Part IV. The reference at the back has every link, address, and command in one place.

What Is TXCL?

Overview

TXCL Chain is a public EVM-compatible blockchain operated by TradeXcele. It runs Ethereum-compatible smart contracts, has a native gas coin (TXCL), and is freely accessible to any wallet that supports custom EVM chains (MetaMask, Trust Wallet, Rabby, Coinbase Wallet, OKX Wallet).

It exists alongside — and is bridged to — the existing TXC token on BNB Smart Chain.

Quick facts
Chain ID 47294 · Native coin TXCL · Block time 5s · Consensus Clique PoA · Gas limit 30M · Genesis supply 100M TXCL

The Three Tokens

TXCL involves three distinct assets, each with a clear purpose. Understanding the difference is critical.

TokenWhere it livesWhat it isUsed for
TXCBSC (BEP-20)Memecoin, contract 0x6F02…460E8FBuy/sell on PancakeSwap
TXCLTXCL Chain (native)Native gas coin (NOT a contract)Pay tx fees on TXCL Chain
wTXCTXCL Chain (ERC-20)Wrapped TXC (contract 0x485e…99CEF)Bridged 1:1 from TXC

Why It Exists

Honest caveat: TXCL Chain is currently a single-validator PoA chain. This means it is not censorship-resistant the way decentralized L1s are. The decentralization roadmap in the public chain page acknowledges this and lays out phased validator expansion.

Architecture

System Diagram

┌────────────────────────────────────────────────────────────────────┐
│  Single VPS · 72.61.118.50 · Ubuntu 24.04                          │
│                                                                    │
│   ┌──────────┐     ┌─────────────┐      ┌──────────────────┐      │
│   │  geth    │     │  nginx +    │      │  PHP-FPM 8.2     │      │
│   │ Clique   │◄───►│  Lua method │◄────►│  Web UIs +       │      │
│   │ ChainId  │     │  allowlist  │      │  Block indexer + │      │
│   │  47294   │     │  TLS 443    │      │  Bridge APIs     │      │
│   └──────────┘     └─────────────┘      └──────────────────┘      │
│        ▲                  ▲                       │                │
│        │                  │                       ▼                │
│   ┌────┴──────────────────┴────┐         ┌──────────────┐          │
│   │  Bridge Relayer (Node.js)  │◄───────►│  MariaDB +   │          │
│   │  watches BSC + TXCL        │         │  file state  │          │
│   │  signs vouchers            │         └──────────────┘          │
│   └────────────────────────────┘                                   │
│                  ▲                                                 │
└──────────────────┼─────────────────────────────────────────────────┘
                   │ HTTPS
       ┌───────────┴────────────┐
       │  BSC Mainnet           │
       │  TXC token             │
       │  TXCBridge.sol         │
       └────────────────────────┘

Components

ComponentTechPurpose
Chain nodeGeth 1.14.x · Clique PoABlock production, state, RPC
Public RPCnginx + PHP proxyMethod-allowlisted JSON-RPC
Block explorerPHP + MariaDBBlock/tx/address browsing
Bridge contractsSolidity 0.8.20Lock/mint/burn/unlock
Bridge relayerNode.js + ethers v6Cross-chain message passing
Native AMMSolidity 0.8.20TXCL ↔ wTXC swaps
Web walletHTML/JS/PHP + ethersSelf-custody key management

Data Flows

BSC → TXCL Bridge

1. User → TXCBridge.depositToTXCL(amount)     [BSC tx, signed by user]
2. Event DepositToTXCL emitted
3. Relayer picks up event after 3 BSC confirmations
4. Relayer → TXCLBridge.mintFromBSC(user, amount, bscTxHash)  [TXCL tx]
5. wTXC.mint(user, amount) called by bridge
6. User holds wTXC on TXCL

TXCL → BSC Bridge

1. User → TXCLBridge.bridgeBackToBSC(amount)  [TXCL tx, signed by user]
2. wTXC burned, BridgeBackToBSC event emitted
3. Relayer picks up event after 2 TXCL confirmations
4. Relayer signs voucher: keccak256(user, amount, txclTxHash, bridgeAddr, chainId)
5. User reads voucher from /bridge/api/voucher.php
6. User → TXCBridge.withdrawFromTXCL(user, amt, hash, sig)  [BSC tx, signed by user]
7. Bridge verifies relayer sig, transfers TXC to user

Getting Started

Add TXCL Chain to Your Wallet

The easiest path: visit tradexcele.cloud/add/ and click "Add TXCL Chain to Wallet". Your wallet will prompt to add the network.

Manual setup if needed:

Network Name:    TXCL Chain
RPC URL:         https://tradexcele.cloud/rpc/
Chain ID:        47294
Currency Symbol: TXCL
Block Explorer:  https://tradexcele.cloud/chain
After switching networks, your wallet shows a 0 TXCL balance. That's normal — you need gas before you can do anything.

Get TXCL Gas

Two ways:

  1. Faucet — Visit tradexcele.cloud/chain/faucet/, paste your address, claim free TXCL (rate-limited).
  2. Airdrop — If you're a TradeXcele user, claim ~155 TXCL from the airdrop portal at tradexcele.cloud/airdrop/.

Buy TXC on PancakeSwap

TXC is a BEP-20 token on BSC. Buy with BNB on PancakeSwap:

https://pancakeswap.finance/swap?outputCurrency=0x6F029555A065Ac3334aA6aDb9957efe0bA460E8F

Then use the bridge (Chapter 4) to move it to TXCL Chain as wTXC.

Using the Bridge

The bridge is a 2-way conversion between BSC TXC and TXCL Chain wTXC.

DirectionYou start withYou end withTimeSteps
BSC → TXCLTXC on BSCwTXC on TXCL~30s1 (auto-completes)
TXCL → BSCwTXC on TXCLTXC on BSC~16s + claim2 (burn, then claim)

BSC → TXCL (Lock & Mint)

  1. Visit tradexcele.cloud/bridge/
  2. Connect MetaMask (must hold TXC on BSC)
  3. Direction tab: BSC → TXCL
  4. Enter amount (min 1 TXC, fee 0.1 TXC)
  5. Click Bridge → MetaMask prompts Approve (one-time per wallet)
  6. Then prompts the actual Lock transaction
  7. Wait ~30 seconds — relayer auto-mints wTXC on TXCL

TXCL → BSC (Burn & Claim)

  1. Visit tradexcele.cloud/bridge/
  2. Direction tab: TXCL → BSC
  3. Connect MetaMask, switch to TXCL Chain
  4. Enter amount of wTXC to bridge back
  5. Approve wTXC spending (one-time), then sign the burn tx
  6. Wait ~16 seconds for the relayer's voucher to appear
  7. Click Claim on BSC — MetaMask switches to BSC, you sign the withdrawal
  8. TXC arrives in your BSC wallet
Always leave a small amount of native gas in each wallet. You need TXCL gas to burn wTXC, and BNB gas to claim on BSC.

Using the DEX (Swap)

The TXCLSwap AMM at tradexcele.cloud/swap/ trades TXCL native ↔ wTXC directly on TXCL Chain (no bridge needed).

Swap workflow

  1. Visit /swap/
  2. Connect wallet (auto-switches to TXCL Chain)
  3. Enter "You Pay" amount
  4. The "You Receive" updates automatically based on pool reserves
  5. Click Swap → MetaMask signs once (or twice if approving wTXC)

Add liquidity (LP)

Liquidity providers earn 0.30% of every trade. To add LP, send addLiquidity(maxToken) to TXCLSwap with msg.value = nativeAmount.

Using the Wallet

The TXCL Wallet at tradexcele.cloud/wallet/ is a self-custody web wallet (PWA-installable). Keys never leave your browser.

Create wallet

  1. Visit /wallet/
  2. Click Create New Wallet
  3. Set strong password (min 6 chars; longer is better)
  4. Save the 12-word seed phrase OFFLINE on paper
  5. Click "I've Saved It" — wallet opens

Key features

Security

EncryptionAES-GCM 256-bit
Key derivationPBKDF2 with 250,000 iterations
StoragelocalStorage (encrypted blob only)
SigningLocal — private key never sent over the wire
HTTPS onlyStrict transport security

Network Reference

TXCL Chain

Chain ID47294 (0xb8be)
SymbolTXCL
Decimals18
Public RPChttps://tradexcele.cloud/rpc/
Block explorerhttps://tradexcele.cloud/chain
Block time5 seconds (Clique PoA)
Gas limit30,000,000
EVM targetParis (no PUSH0)
Genesis supply100,000,000 TXCL

BNB Smart Chain (for cross-chain)

Chain ID56 (0x38)
RPChttps://bsc-dataseed.binance.org/
Explorerhttps://bscscan.com

Smart Contracts

wTXC (Wrapped TXC)

Standard ERC-20 with onlyBridge mint/burn. Lives on TXCL Chain.

Address0x485eaB9D8996A1efAD36e621D86834bb8Ab99CEF
Decimals18
Bridge canmint(to, amount) · burnFrom(from, amount)
Owner cansetBridge(addr) · setPaused(bool)

TXCBridge (BSC side)

Address0xB4C5E22Aa4A4f274078631e899C79B02Dc8ce09f
Min deposit1 TXC
Bridge fee0.1 TXC
function depositToTXCL(uint256 amount) external;
function withdrawFromTXCL(
    address user,
    uint256 amount,
    bytes32 txclTxHash,
    bytes signature
) external;

TXCLBridge (TXCL side)

Address0x8f2D2FAfB08ca517604EDf5Be67f60AFBa20B13e
Relayer0xd6251a24AC7D2519AFE6276F77cD09afFe1BD958
function mintFromBSC(address user, uint256 amount, bytes32 bscTxHash) external; // onlyRelayer
function bridgeBackToBSC(uint256 amount) external; // user-callable

TXCLSwap (AMM)

Address0xc0E7DA0c2222b079B894518c2D313C57fB86825d
Fee0.30% to LPs
MathConstant product (x·y = k)
function addLiquidity(uint256 maxToken) external payable returns (uint256 lpMinted);
function removeLiquidity(uint256 lpAmount) external returns (uint256 nativeOut, uint256 tokenOut);
function swapNativeToToken(uint256 minTokenOut) external payable returns (uint256);
function swapTokenToNative(uint256 tokenIn, uint256 minNativeOut) external returns (uint256);
function quoteNativeToToken(uint256 nativeIn) external view returns (uint256);
function quoteTokenToNative(uint256 tokenIn) external view returns (uint256);

Build Your Own dApp

Connect to TXCL via ethers.js

import { ethers } from "ethers";

const TXCL = {
  chainId: 47294,
  rpc: "https://tradexcele.cloud/rpc/",
};

// Read-only
const provider = new ethers.JsonRpcProvider(TXCL.rpc);
const block = await provider.getBlockNumber();

// User signing (browser, with MetaMask)
const browserProvider = new ethers.BrowserProvider(window.ethereum);
const signer = await browserProvider.getSigner();

Add network programmatically

await window.ethereum.request({
  method: 'wallet_addEthereumChain',
  params: [{
    chainId: '0xb8be',
    chainName: 'TXCL Chain',
    nativeCurrency: { name: 'TXCL', symbol: 'TXCL', decimals: 18 },
    rpcUrls: ['https://tradexcele.cloud/rpc/'],
    blockExplorerUrls: ['https://tradexcele.cloud/chain']
  }]
});

Deploy your own contract

// Compile with solc 0.8.20, evmVersion: 'paris'
// Deploy via Remix → Injected Provider → connect to TXCL Chain
// Or via Hardhat:

module.exports = {
  solidity: { version: "0.8.20", settings: { evmVersion: "paris" } },
  networks: {
    txcl: {
      url: "https://tradexcele.cloud/rpc/",
      accounts: [process.env.PRIVATE_KEY],
      chainId: 47294,
    }
  }
};
Important: TXCL Chain runs Geth without the PUSH0 opcode (Shanghai). Always compile with evmVersion: "paris" to avoid "invalid opcode: PUSH0" errors.

APIs & RPC

Public JSON-RPC

POST https://tradexcele.cloud/rpc/
Content-Type: application/json

{ "jsonrpc": "2.0", "method": "eth_chainId", "params": [], "id": 1 }
→ { "jsonrpc": "2.0", "id": 1, "result": "0xb8be" }

Allowed methods: eth_*, net_*, web3_* (excluding eth_sign*, eth_accounts, eth_sendTransaction).

Rate limit: 20 req/sec per IP at nginx, 30 req/sec at PHP layer.

Bridge APIs

EndpointPurpose
GET /bridge/api/vouchers.php?user=0x…List pending vouchers ready to claim
GET /bridge/api/voucher.php?hash=0x…Get one voucher (signature, amount)
GET /bridge/api/history.php?user=0x…Bridge tx history
GET /bridge/api/mark_claimed.php?hash=…&bsc_tx=…Mark voucher as claimed

Explorer APIs

EndpointPurpose
GET /chain/api/transfers.php?addr=0x…&limit=NAddress transfer history
GET /chain/api/stats.phpChain stats (height, addresses, txs)

Server Layout

/var/lib/geth/data/                       chain database
/var/lib/geth/treasury_keystore/          70M TXCL wallet
/var/lib/geth/airdrop_keystore/           30M TXCL wallet
/var/lib/geth/relayer_keystore/           bridge relayer wallet
/etc/geth/genesis.json                    chain config
/etc/geth/keystore.pwd                    validator passphrase
/etc/geth/relayer_priv.txt                relayer privkey (mode 600)

/home/tradexcelses/bridge/contracts/      Solidity source
/home/tradexcelses/bridge/relayer/        Node.js relayer
/home/tradexcelses/bridge/relayer/state/  state files (last_block, vouchers)
/home/tradexcelses/bridge/relayer/.env    relayer config (mode 600)
/home/tradexcelses/bridge/deployment-*    deployment manifests

/home/tradexcelses/tradexcele.cloud/      web root
  ├── add/         add to MetaMask
  ├── airdrop/     airdrop claim
  ├── bridge/      bridge UI + API
  ├── chain/       block explorer
  ├── deploy/      one-click BSC deploy (used)
  ├── relayer-update/  relayer migration tool (used)
  ├── rpc/         hardened JSON-RPC proxy
  ├── swap/        DEX UI
  ├── wallet/      self-custody wallet (PWA)
  └── index.php

/etc/systemd/system/geth.service          chain auto-start
/etc/systemd/system/txcl-bridge-relayer.service  relayer auto-start
/var/log/txcl-bridge-relayer.log          relayer log

Running Services

ServiceAuto-startRestart on crash
geth✅ Restart=always
nginx
php8.2-fpm
mariadb
txcl-bridge-relayer✅ Restart=always, RestartSec=15

Common ops commands

# Check chain
systemctl status geth
journalctl -fu geth

# Restart relayer (after .env changes)
systemctl restart txcl-bridge-relayer
tail -f /var/log/txcl-bridge-relayer.log

# Check relayer state
ls /home/tradexcelses/bridge/relayer/state/vouchers/
cat /home/tradexcelses/bridge/relayer/state/deposits.log
cat /home/tradexcelses/bridge/relayer/state/withdrawals.log

Security

Defense layers

LayerWhat it does
UFW firewallDefault deny, only 22/80/443 + mail open. SSH rate-limited (LIMIT)
fail2banBans IPs after failed SSH attempts
nginx rate-limit20 req/sec per IP on /rpc/
RPC method allowlistPHP proxy blocks admin/debug/personal/miner methods
Replay protectionprocessedDeposits / processedWithdrawals mappings
ECDSA voucher sigsWithdrawals require relayer signature
Keystore permissionsMode 600 root or service user only
HTTPS / HSTSTLS via Let's Encrypt, auto-renewed
Hot wallet limitsRelayer holds only ~$30 in hot funds

Threat model

Monitoring & Backups

Daily health checks

# Block height advancing?
curl -sX POST https://tradexcele.cloud/rpc/ -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

# Relayer alive?
systemctl is-active txcl-bridge-relayer

# Disk space?
df -h /var/lib/geth/data

# Relayer balance?
curl -sX POST https://bsc.publicnode.com/ -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xd6251a24AC7D2519AFE6276F77cD09afFe1BD958","latest"],"id":1}'

Backup strategy

Build History

This section documents how the system was actually deployed, in order. Useful for reproducing or extending.

DateMilestoneOutcome
May 6 2026TXCL chain genesis & first blockChain ID 47294 live, signer producing blocks every 5s
May 6 2026Wallets generated (treasury, airdrop, faucet)100M TXCL allocated at genesis
May 6 2026Block explorer + faucet deployedtradexcele.cloud/chain/ live
May 7 2026Hero rebuild + transparency pagetradexcele.com/TXC and chain landing
May 7 2026Bridge contracts compiled4 Solidity contracts ready
May 7 2026Phase 1: TXCL contracts deployedwTXC + TXCLBridge + TXCLSwap live (gas: 0.0028 TXCL)
May 7 2026Security hardeningRPC allowlist, UFW, fail2ban, txclops user
May 7 2026Phase 2: BSC TXCBridge deployedtx 0x03584f9c…
May 7 2026Phase 3: VPS-only relayer migrationHot key off MetaMask, relayer service started
May 7 2026End-to-end bridge test5 TXC bridged, 4.9 wTXC minted in 30s
May 7 2026TXCL Wallet (PWA) deployedSelf-custody web wallet with multi-account

The 6 Phases

Phase 0 — Chain Bootstrap (Day 1)

Phase 1 — TXCL Contracts (Day 2)

Phase 2 — BSC Contract (Day 2)

Phase 3 — Relayer Migration (Day 2)

Phase 4 — Service Startup

Phase 5 — End-to-End Test

Phase 6 — User Tooling

All Links

Public-facing

tradexcele.cloud/TXCL Chain root
tradexcele.cloud/add/Add to MetaMask
tradexcele.cloud/wallet/Self-custody wallet
tradexcele.cloud/bridge/BSC ↔ TXCL bridge
tradexcele.cloud/swap/Native DEX
tradexcele.cloud/chain/Block explorer
tradexcele.cloud/chain/faucet/Free TXCL faucet
tradexcele.cloud/airdrop/Airdrop claim
tradexcele.cloud/rpc/Public JSON-RPC
tradexcele.cloud/docs/This book
tradexcele.comBrand site
tradexcele.com/TXC/TXC token landing
tradexcele.com/TXC/transparency.phpToken governance disclosure

External

DEX ScreenerLive TXC chart
BSCScan TXCTXC token contract
BSCScan TXCBridgeBSC bridge contract
PancakeSwapBuy/sell TXC
Chainlist.orgTXCL listing (when submitted)

All Addresses

System wallets

RoleAddressHolds
Validator (signer)0xa360dc879cb9d0d5f03aa4df41ebc194e13a01b3Signs blocks
Treasury0x867efab20c1d570e53f4423c734522369b1dc0f870M TXCL
Airdrop Distributor0x10e1777cd076f9c3fe2746099d253ddf2db72e0730M TXCL
Faucet0xfEd893e7ab65A9EaE03168C5415d8c749e320936Refillable TXCL
Bridge Relayer0xd6251a24AC7D2519AFE6276F77cD09afFe1BD9580.04 BNB + 5 TXCL

Smart contracts

NetworkContractAddress
BSC (56)TXC token0x6F029555A065Ac3334aA6aDb9957efe0bA460E8F
BSC (56)TXCBridge0xB4C5E22Aa4A4f274078631e899C79B02Dc8ce09f
TXCL (47294)wTXC0x485eaB9D8996A1efAD36e621D86834bb8Ab99CEF
TXCL (47294)TXCLBridge0x8f2D2FAfB08ca517604EDf5Be67f60AFBa20B13e
TXCL (47294)TXCLSwap0xc0E7DA0c2222b079B894518c2D313C57fB86825d

CLI Commands

SSH & service ops

ssh -i ~/.ssh/txcl_vps root@72.61.118.50

systemctl status geth
systemctl status txcl-bridge-relayer
journalctl -fu geth
tail -f /var/log/txcl-bridge-relayer.log

systemctl restart txcl-bridge-relayer
systemctl restart geth

Quick chain queries

# Block height
curl -sX POST https://tradexcele.cloud/rpc/ -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

# Address balance
curl -sX POST https://tradexcele.cloud/rpc/ -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xADDR","latest"],"id":1}'

# wTXC total supply
curl -sX POST https://tradexcele.cloud/rpc/ -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_call",
       "params":[{"to":"0x485eaB9D8996A1efAD36e621D86834bb8Ab99CEF",
                  "data":"0x18160ddd"},"latest"],"id":1}'

UFW / firewall

ufw status numbered
ufw limit 22/tcp        # rate-limit ssh
ufw allow 443/tcp       # allow https

Glossary

AMMAutomated Market Maker — a DEX based on x·y=k constant product math (like Uniswap V2 / PancakeSwap)
BEP-20BSC's ERC-20 token standard. TXC is BEP-20.
BridgeCross-chain protocol that locks tokens on chain A and mints equivalent on chain B
Chain IDNumeric identifier for an EVM network. TXCL = 47294
Clique PoAProof-of-Authority consensus where pre-approved signers take turns producing blocks
EVMEthereum Virtual Machine — bytecode runtime that powers Ethereum and compatible chains
GenesisThe configuration of block 0 — defines chain rules and initial allocations
HD WalletHierarchical Deterministic — derives multiple accounts from one seed (BIP44)
Hot walletA wallet with private key online (e.g. relayer). Should hold minimal funds.
LPLiquidity Provider — supplies pairs of tokens to an AMM, earns trading fees
MempoolPending transactions waiting to be included in a block
Mnemonic12 or 24 word BIP39 seed phrase that derives all wallet keys
Native coinThe chain's gas token. TXCL on TXCL Chain, BNB on BSC, ETH on Ethereum.
PoAProof of Authority — consensus where validators are explicitly approved (vs PoS where they're staked)
PUSH0EVM opcode introduced in Shanghai upgrade. TXCL Chain doesn't support it — use evmVersion: paris.
RelayerOff-chain service that watches one chain and triggers actions on another
RPCRemote Procedure Call — JSON over HTTP interface to talk to a chain
SlippageDifference between expected price and executed price on a swap
VoucherA relayer-signed message that authorizes a TXCL→BSC withdrawal
Wrapped tokenAn ERC-20 representation of an asset from another chain. wTXC wraps TXC.

Troubleshooting

"execution reverted (unknown custom error)" when bridging

Check your wallet's TXC balance. You can't bridge tokens you don't hold. Also check that you've approved the bridge contract to spend (one-time per wallet).

Bridge UI shows "No pool" / can't swap

The TXCLSwap pool needs to be seeded with initial liquidity by the team. Until then, swap is not functional.

"invalid opcode: PUSH0" on contract deploy

You compiled with default Shanghai EVM target. Recompile with evmVersion: "paris" for TXCL Chain.

Relayer service not running

systemctl status txcl-bridge-relayer
journalctl -u txcl-bridge-relayer -n 50

# common issues:
# - wrong RPC URL → check .env BSC_RPC
# - relayer wallet out of gas → check BNB and TXCL balances
# - private key mismatch → re-verify TXC_BRIDGE.relayer() == wallet address

Wallet shows 0 balance after refresh

Probably switched to wrong network. Tap the network pill (top right of wallet) and select TXCL.

I forgot my wallet password

The password is needed to decrypt your local seed. If forgotten, you must reset the wallet (which wipes encrypted seed) and re-import using your 12-word seed phrase. That's why the seed phrase backup is critical.

Bridge fee seems high

0.1 TXC fee is per-bridge. For frequent bridging consider batching. Fee is configurable by bridge owner.

How do I see my pending vouchers?

Go to /bridge/, switch direction to TXCL → BSC, connect wallet. Pending vouchers appear in green cards labelled "Vouchers Ready to Claim on BSC".