middleware

Getting Started:

  • Generate API keys for sandbox and production environments.
    • Production access requires going through our KYB process. But don’t worry, our Sandbox environment allows you to develop end to end while you await KYB approval.
  • Define Specific Domains for Mesh Access Across All Production and Pre-Production Environments (i.e., https://localhost:3000). Wildcards are supported (i.e., https://*.westus2.5.azurestaticapps.net/).
  • [Optional] Familiarize yourself with Interactive Demo to see how Mesh Link Modal handles different use cases and integrations.

Dashboard Configuration:

  • Upload your icon and Company Name to be displayed in Mesh modal
  • Create either a “Deny List” or an “Allow List” to manage the countries from which your users will be able to use Mesh Link to connect accounts or initiate transfers (based on IP address).
  • Configure the Mesh modal to your Branding guidelines.
  • Exclude wallets/exchanges/brokerages that aren’t popular to your user demographic. Typically our customers use custom buttons for their top few exchanges and wallets and a ‘catch all button’ that opens the Mesh catalogue
  • Customize the branding elements of the Link modal. You can adjust the modal overlay opacity, corner radii, button radii, and also add button backup colors to match your app for lesser-used integrations.

Development

  • [Optional] Before starting development, we recommend completing the Mesh Workshop. This workshop provides a comprehensive introduction to:

    • Connecting to our integrations, networks, and tokens
    • Authenticating users through the Mesh Modal
    • Fetching data from connected wallets or exchanges
    • Exploring various workflows transferring data
  • Since Mesh is a client-side SDK, ensure that your front-end application running the Mesh SDK does not make direct API calls or store Mesh API credentials. The best practice is to have your front end communicate with a middleware service layer that securely handles access to Mesh API credentials. middleware

  • [Optional] Pass fundingOptions object in linkToken to ensure users can buy more crypto or convert existing crypto in a transfer flow. This extends Transfer options when a user is paying for a good or service but doesn’t have enough of the request token. Refer to Account

  • Pass a unique transactionId with every transfer initiated in Link Modal

  • Pass a transferType key value pay for every linkToken transfer request. Values are: deposit | onramp | payment

  • [Optional] Allow users to send assets over L2’s to save on gas

  • [Recommended] Listen for Mesh transfer webhooks to receive real-time updates on the transfer lifecycle, including statuses such as pending, succeeded, or failed.

    • Completed transfers will include a transaction hash in the response object of the GET Mesh transfers endpoint.
    • Mesh monitors transactions on the blockchain for up to 2 hours to obtain a transaction hash. If the hash is not received within this timeframe, an alert is triggered for our on-call team to investigate.
  • [Recommended] Listen to Client side SDK events: Each SDK provides client-side events to help you understand the workflow behavior of every Link session. This allows you to push real-time user experience data to your observability and business intelligence tools (e.g., Mixpanel). - [Optional] Leverage our guides for handling access tokens

  • [Optional] Error Handling: familiarize yourself with Mesh Error types and add retry logic and error handling as necessary

Testing

  • Conduct end-to-end testing in the sandbox environment. Please note, Mesh does not support testnets for self-custody wallets. All API and Modal behavior is simulated
  • Test webhook data connectivity to your endpoint
  • [Recommnded] Share application build with Mesh to provide any final guidance and feedback

Pre-Launch:

  • Notify Mesh team of planned launch
  • Upgrade to the latest SDK build and perform functional and UAT testing

Post-launch

  • Notify your Mesh Account Executive and Implementation Specialist
  • Subscribe to Mesh status page
  • Bookmark Mesh support portal for 24/7 support