Integration Options

Coinify offers three ways to integrate the Trade service into your product. This page explains each option, what it involves, and how to choose the right one for your use case.

Overview

Trade WidgetTrade Widget SDKFull API Integration
Integration effortLowMediumHigh
UI OwnershipCoinifyCoinifyPartner (You)
CustomisationLimited (using parameters)Limited (uisng parameters)Full
Event handlingVia postMessageVia JS callbacksVia webhooks
Frictionless auth supportYesYesYes
Best forFas time-to-marketWeb apps needing tighter integrationFull control over UX

Trade Widget

The Trade Widget is a ready-made trading UI hosted by Coinify and embedded in your web page via an iframe. It handles everything — user onboarding, KYC, quotes, payment, and trade history — with no UI to build on your side.

You configure it by appending query parameters to the widget URL controlling things like supported currencies, payment methods, colours, and pre-filled wallet addresses. See an example below and find a detailed page with all supported query parameters here.

<iframe
  src="https://trade-ui.coinify.com?partnerId={your-partner-id}&primaryColor=blue&cryptoCurrencies=BTC,ETH"
  width="100%"
  height="576px"
  allow="camera;fullscreen;accelerometer;gyroscope;magnetometer;payment"
  allowfullscreen>
</iframe>

Choose this if:

  • You want the fastest path to a working integration
  • You don't need deep control over the trading UX
  • You're embedding into a web page, mobile web view, or similar
📘

For the best onboarding UX, combine the Trade Widget with the Frictionless Sign-up and Sign-in flows so your users never see a separate Coinify login screen. See Frictionless Sign-up Flow → and Frictionless Sign-in →.


Trade Widget SDK

The Trade Widget SDK loads the same Coinify-hosted widget but initialises it programmatically via JavaScript instead of a raw iframe URL. This gives you a cleaner integration surface and two-way communication between your app and the widget.

See the full technical implementation guide and supported parameters under the Trade Widget SDK page.

<script src="https://trade-ui.coinify.com/widget/sdk/v1/trade.js"></script>
Coinify.Trade({ partnerId: 'your-partner-id', partnerName: 'Your App' })
  .on('trade.trade-created', (trade) => {
    console.log('Trade created:', trade);
  })
  .render({
    containerId: 'coinify-widget',
    parameters: {
      primaryColor: 'blue',
      cryptoCurrencies: ['BTC', 'ETH'],
      address: { bitcoin: 'your-btc-address' }
    }
  });

Key advantages over the plain iframe:

  • Pass complex parameters (like address and partnerContext) as JavaScript objects rather than URL-encoded strings
  • Listen to widget events directly in your app (trade.trade-prepared, trade.trade-created, trade.trade-placed)
  • Send messages back to the widget to confirm or reject trades programmatically
  • Hide the widget's burger menu with noMenu when using Frictionless Sign-in

Choose this if:

  • You're building a web app and want event-driven integration
  • You need to react to trade events in your own app logic
  • You want cleaner parameter handling than URL query strings

Full API Integration

With a full API integration you build your own UI entirely and call the Coinify Trade API directly. Coinify handles the backend - trading, compliance, payments but everything the user sees is yours to design and build.

Get started with the API Reference.

You are responsible for implementing the following views:

  • KYC redirect - send the user to Coinify's identity verification flow and handle their return
  • Trade quote - show the exchange rate and fees before a trade is created
  • Order summary - confirm trade details before the user commits
  • Credit card payment - redirect the user to Coinify's Payment Page to complete card payment
  • Bank account registration - collect and store the user's bank details for Sell trades
  • Trade history - display the user's past trades and their current states

Choose this if:

  • You need full control over the look, feel, and flow of the trading experience
  • You're building a native mobile app or a highly customised web product
  • You're willing to invest more development time for maximum flexibility
📘

The full API integration requires implementing more moving parts. We recommend familiarising yourself with the Trade Widget first - it's a useful reference for the flows and views you'll need to build.


👍

Combining integration types

The three options are not mutually exclusive. A common pattern is to use the API for user onboarding (Frictionless Sign-up and Sign-in) and hand off to the Trade Widget or SDK for the actual trading UI. This gives you control over the user registration flow while keeping the trading experience simple to maintain.