> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bm.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Your Wallet to BM.XYZ and Enable Testnet Trading

> Connect MetaMask, WalletConnect, OKX Wallet, or Coinbase Wallet to BM.XYZ and authorize trading with one gas-free session signature.

BM.XYZ is fully non-custodial. You connect a wallet you own and control — BM.XYZ never holds, accesses, or stores your private keys. Your assets stay in your wallet until you place a trade on the order book.

## Supported wallets

| Wallet          | Connection method                   |
| --------------- | ----------------------------------- |
| MetaMask        | Browser extension or in-app browser |
| WalletConnect   | QR code or deep link                |
| OKX Wallet      | Extension or mobile                 |
| Coinbase Wallet | Extension or mobile                 |

## Connect flow

<Steps>
  <Step title="Open the connect prompt">
    Click **Connect Wallet** in the top navigation bar or in the trade panel on any market page.
  </Step>

  <Step title="Select your wallet provider">
    Choose your wallet from the list of supported providers in the connection modal.
  </Step>

  <Step title="Approve the connection request">
    Your wallet will display a connection request. Review the site origin (`bm.xyz`) and approve it. No funds are moved at this step.
  </Step>

  <Step title="Confirm your address">
    Once connected, your wallet address appears in the top bar. You are now connected but not yet authorized to trade — complete the **Enable Trading** flow next.
  </Step>
</Steps>

## Enable Trading

Connecting your wallet alone does not authorize order submission. You must complete the **Enable Trading** flow once per session (or per deployment on testnet).

<Steps>
  <Step title="Claim testnet tokens">
    Click **Enable Trading** and then **Claim** on the faucet step. This credits your account with test USDC and BMX. If you have already claimed, this step shows a completed state and you can proceed immediately.
  </Step>

  <Step title="Sign to establish a trading session">
    Sign the gas-free message in your wallet to create a local trading key. This signature authorizes the exchange to submit orders on your behalf without requiring a separate on-chain transaction for every trade.

    If you want to stay signed in across browser sessions, opt in to **Stay Connected** when prompted.
  </Step>
</Steps>

## Troubleshooting

| Issue                | What to try                                                                                         |
| -------------------- | --------------------------------------------------------------------------------------------------- |
| Wallet not detected  | Install the browser extension, or open BM.XYZ inside your wallet's built-in browser                 |
| Connection loop      | Disconnect from bm.xyz inside your wallet app, reset the wallet connection, then reconnect          |
| Wrong network        | Switch to the BM Chain testnet network shown in the wallet prompt — your wallet may auto-prompt you |
| Enable Trading stuck | Refresh the page, make sure pop-up blockers are disabled, and retry the signature request           |

## Security tips

<Tip>
  * **Never share your seed phrase or private key** with anyone, including anyone claiming to be BM.XYZ support.
  * **Verify the URL** is `bm.xyz` before approving any signature or transaction in your wallet.
  * **Disconnect your wallet** when you are finished, especially on a shared or public device.
</Tip>

***

Prefer to sign in without a browser wallet extension? See [Email Login](/onboarding/email-login) to use a one-time passcode and a Privy embedded wallet instead.
