The assistant works best when it knows which wallet it is helping. There are two ways it learns that, and for most apps the better one is that YOUR site tells it, so the user never connects a second time.
Two ways the wallet arrives
Your app passes it (recommended)
Your site already knows who is connected. Pass that address to the widget with one call and there is no second connect prompt, and you can hide the wallet UI entirely.
The widget's own connect button
If you pass nothing, the widget offers its own Connect wallet button. Use this only if your app does not have the address to hand.
Passing the wallet through
After your own wallet connect resolves, call identify() with the full address and the chain the user is on. Call it again whenever the account changes:
window.txid.identify({
wallet: userAddress, // the FULL 0x address, not a shortened display form
chainId: "0x38" // hex chain id, e.g. "0x38" for BNB Chain, "0x1" for Ethereum
});Calls made before the widget has finished loading are queued and replayed, so you never need to wait for a ready event. There is no de-identify call: when the user switches account, just call identify() again with the new value.
Hide the wallet UI completely
Once your app supplies the wallet, the widget's own wallet controls are redundant. Turn them off under Branding, then Wallet, then Hidden. The assistant still helps the user by their address, and there is no Connect or Disconnect button for them to be confused by.
It is an identifier, not proof
A wallet supplied by your site is treated as a claim about who is connected, never as proof of ownership: no signature is requested. Features that sign transactions stay disabled for host-supplied wallets. If the value is malformed it is ignored safely rather than breaking the widget.
What it powers
- Bug reports and feedback carry the user's wallet, so you can trace a report to the exact account.
- When transaction diagnosis is on, the assistant can read that wallet's balances, recent transactions and failed-transaction reasons without asking the user for anything.
Where to put the call
Put identify() wherever your app finishes connecting a wallet, and in your account-change handler. A common second call is from your transaction-failure handler alongside window.txid.open({ mode: "bug" }), so a failed action opens a bug report with the wallet already attached.