Skip to main content
This reference guide lists every SDK event Mesh can fire during a Link session, along with payload details — so you can build precise business logic around user interactions.
Before you start

Overview

Mesh SDKs offer event tracking that not only provides you insights into user interactions within Link, but also gives you the ability to implement business logic based on those interactions.

SDK Callback Functions

Capturing Mesh’s SDK events varies slightly across platforms (Web, iOS, Android, React Native, Flutter). Please refer to the Use Mesh’s callback functions guide for more platform-specific guidance for setting up callback functions.

Core events

These are the events most integrations act on. Wire these up first — then consult the complete reference below if you need finer-grained tracking.

Complete event reference

What’s next

For platform-specific setup instructions for consuming these events with callback functions, see Use Mesh’s callback functions.
AI coding reference — a compact summary of this page’s APIs, parameters, and patterns for use by AI coding assistants (following the llms.txt standard). Human readers can safely ignore this.llms.txt — Mesh SDK eventsComplete reference of all SDK events fired via the onEvent callback during a Link session.Core events to wire first:
  • pageLoaded: Link launched successfully. No payload.
  • integrationConnected: User connected account. Payload: integrationType, integrationName, accessToken (has tokenId).
  • transferPreviewed: User viewed preview. Payload: symbol, amount, amountInFiat, toAddress, fees (institutionTransferFee, estimatedNetworkGasFee, customClientFee), previewId.
  • transferInitiated: User clicked Proceed. Same payload structure as transferPreviewed.
  • transferCompleted: User reached Success page. Triggers onTransferFinished. Use onTransferFinished for business logic; use this event for analytics.
  • transferNoEligibleAssets: No matching assets. Payload: arrayOfTokensHeld (each has symbol, amount, amountInFiat, ineligibilityReason).
  • close: User dismissed Link. Payload: page. If page === 'transferExecutedPage' → full flow completed.
Withdrawal event: withdrawalRequested fires when the user confirms a Mesh-hosted withdrawal (transferType: withdrawal); Link then closes. Payload: transferId, status (pending | success; pending in practice). Followed by close. Use it to trigger 2FA or update UI only; it carries no money movement details. Send funds only from the server-side withdrawal webhook.Wallet verification events: walletMessageSigned (payload: signedMessageHash, message, address, timeStamp, isVerified) | verifyWalletRejected | verifyDonePageOther notable events: integrationSelected | transferDeclined | connectionDeclined | transferExecutionError | linkTransferQRGenerated (manual QR deposit) | executeFundingStep | done (read-only or verify flow complete, payload has page)Platform note: onEvent setup varies by platform — see Use Mesh’s callback functions guide for platform-specific initialization.