Skip to navigation

How to Display Quote Disclaimers

Show the notices and provider terms that US, EEA and UK users must see before they place an order.
View as Markdown

Overview

Regulators in the US, the EEA and the UK require users to see certain notices before they buy or sell crypto. If you build your own checkout with the White-label API, you must show them in your UI.

Every Get Quote API response includes a termsIds array that lists the disclaimers for that quote. For each ID, show the text from this guide on the screen listed in Terms IDs.

UsersTerms IDsWhy
US usersTRANSAK_TERMS_OF_SERVICE, COINME_USER_AGREEMENT, US_TERMS_RETURNING, ZEROHASH_USER_AGREEMENTEach US order is executed by Transak, Coinme or Zero Hash, and the user must agree to that provider’s terms. A quote returns only one or two of these IDs, never all of them: the provider’s terms on the user’s first Transak or Coinme order and on every Zero Hash order, and US_TERMS_RETURNING on later Transak or Coinme orders.
EEA usersMICA_EEA_BUY, MICA_EEA_SELLUnder MiCA, the user must see that the exchange rate is an estimate before they pay.
UK usersGB_INVESTMENT_RISK_WARNINGUnder FCA rules, the user must see a risk warning before they invest.

Transak decides which IDs to return for each quote based on:

  • User’s KYC country: the disclaimers depend on the country from the user’s KYC. If you call Get Quote without user authentication headers, termsIds is always empty.
  • Order type: for EEA users, buy quotes return MICA_EEA_BUY and sell quotes return MICA_EEA_SELL.
  • Order history (Transak and Coinme): on the user’s first order with the provider, the quote returns its full terms (TRANSAK_TERMS_OF_SERVICE or COINME_USER_AGREEMENT). On later orders, it returns a shorter confirmation, US_TERMS_RETURNING. Transak keeps track of this, so you only need to show what termsIds returns.
  • Zero Hash orders: ZEROHASH_USER_AGREEMENT has no shorter version. The quote returns it on every order, so always show the full agreement.

The fiat currency of the quote does not decide which disclaimers are returned. An EEA user paying in USD still gets MICA_EEA_BUY, and a EUR quote for a user outside the EEA gets no MiCA disclaimer.

Always show what termsIds returns: Show exactly the disclaimers in termsIds. Do not choose disclaimers yourself from the user’s country, currency or payment method.

How it works?

1

Call the Get Quote API with the user's details

Call the Get Quote API with the headers for your authentication method:

Authentication methodHeaders to pass
Transak Authauthorization: the user’s access token
Partner Auth (Auth Reliance)x-access-token: your partner access token
x-user-identifier: the user’s email address

What termsIds returns depends on whether the user is logged in:

User statetermsIdsWhat to do
Not logged inEmpty arrayShow no disclaimer.
Logged inDisclaimers for the user’s KYC countryGet a new quote with the authentication headers above, and show its termsIds.
2

Read the termsIds from the response

The response contains a termsIds array with the disclaimers that apply to this quote:

{
"data": {
"termsIds": ["ZEROHASH_USER_AGREEMENT"],
"quoteId": "097a4e42-553d-4162-834f-b02006cf0dd7",
"fiatCurrency": "USD",
"cryptoCurrency": "USDC",
"network": "ethereum",
...
}
}

termsIds is always present, and is an empty array when nothing applies. The IDs can change when the user changes the crypto asset, network, payment method or amount, so read termsIds from every quote you fetch.

3

Show the disclaimer for each ID

For each ID in termsIds, show the matching disclaimer on the screen listed in Terms IDs.

  • Show the full text. Do not shorten it, collapse it, or hide part of it behind a “See more” link.
  • Keep all links clickable, and open them in a new tab.
  • Use the button label listed for the disclaimer. The first-order texts say “By clicking “Agree and Confirm Order,””, so the button must read Agree and Confirm order.
  • If termsIds contains more than one ID, show every disclaimer, in the order returned.
  • Keep each disclaimer visible until the user places the order.
4

Place the order

Once the user has seen the disclaimers and pressed the button, create the order with the quoteId from the same quote.

Required for go-live: Transak reviews your checkout before go-live. A checkout that does not show every disclaimer returned in termsIds will not be approved.

Terms IDs

These are the Terms IDs that the Get Quote API can return in termsIds, with the screen where each disclaimer is shown.

Click a Terms ID to jump to its disclaimer. Each one lists its type, screen and button, with a Preview tab that shows how the text renders and an HTML tab you can copy into your app.


US Disclaimers

  • Transak and Coinme: on the user’s first order with the provider, termsIds returns its terms (TRANSAK_TERMS_OF_SERVICE or COINME_USER_AGREEMENT), with an Agree and Confirm order button. Once the user has agreed, later orders return US_TERMS_RETURNING instead, with a Confirm order button. Show whichever ID the quote returns; you don’t need to track which users have agreed.
  • Zero Hash: ZEROHASH_USER_AGREEMENT is returned on every order, with the same text.

Transak Terms of Service

Returned as TRANSAK_TERMS_OF_SERVICE. Show this on the user’s first Transak order, with an Agree and Confirm order button.

Type of disclaimerScreen and positionButton
The user agrees to the terms by pressing the button.Order confirmation screen, above the buttonAgree and Confirm order

By clicking “Agree and Confirm Order,” I confirm I have read, understand, and agree to Transak’s Terms of Service, Regulatory Disclosures, Privacy Policy, and US Privacy Notice.

Coinme User Agreement

Returned as COINME_USER_AGREEMENT. Show this on the user’s first Coinme order, with an Agree and Confirm order button.

Type of disclaimerScreen and positionButton
The user agrees to the terms by pressing the button.Order confirmation screen, above the buttonAgree and Confirm order

Your transactions are executed by Coinme Inc. a licensed money transmitter.

By clicking “Agree and Confirm Order,” I confirm I have read, understand, and agree to Coinme’s Terms of Service, Privacy Policy, and Disclosures, and to Transak’s Terms of Service, Privacy Policy, and US Privacy Notice.

Returning US Users

Returned as US_TERMS_RETURNING on later Transak and Coinme orders, once the user has agreed to that provider’s terms. Show it with a Confirm order button.

Type of disclaimerScreen and positionButton
The user only needs to see the text. There is nothing to accept.Order confirmation screen, above the buttonConfirm order

You cannot cancel or reverse this order once confirmed. Check the destination address; funds sent to a wrong address cannot be recovered.

Zero Hash User Agreement

Returned as ZEROHASH_USER_AGREEMENT. Show this on every Zero Hash order, with a Confirm order button.

Type of disclaimerScreen and positionButton
The user agrees to the terms by pressing the button.Order confirmation screen, above the buttonConfirm order

I have read, understand, and agree to the: (1) zerohash and zerohash Liquidity Services User Agreement; (2) zerohash Regulatory Disclosures; and (3) zerohash Privacy Notice.

I further consent to zerohash sharing my data or information with Transak. The data or information shared may include, without limitation, the personal information I provide to zerohash during the application and onboarding process. I understand that I may review how zerohash utilizes or shares my data in the Privacy Notice referenced above, and that I may contact zerohash at privacy@zerohash.com if I have any questions or wish to amend my consent.

I also understand that the value of any cryptocurrency, including digital assets pegged to fiat currency, commodities, or any other asset, are not guaranteed and may go to zero at any time and without warning. Orders may not be canceled or reversed once submitted by you. If a withdrawal request is being made, you are requesting an on-chain transaction that is not reversible or recallable. You are responsible for reviewing the recipient address and ensuring it is the correct address for the selected asset for withdrawal. The estimated network fee is an approximation and the actual network fee applied on a withdrawal may differ. Fraudulent transactions may result in the loss of money with no recourse.


EEA Disclaimers (MiCA)

Show these on both the quote screen and the order confirmation screen, above the button, where the user sees them without scrolling. Do not place them inside their own scrolling area.

MiCA Buy Disclaimer

Returned as MICA_EEA_BUY.

Type of disclaimerScreen and positionButton
The user only needs to see the text. There is nothing to accept.Quote screen, above the buttonNo change
The user only needs to see the text. There is nothing to accept.Order confirmation screen, above the buttonNo change

The exchange rate is an estimate and may change. You may receive more or less crypto. Your order and exchange rate become final when we receive your payment.

MiCA Sell Disclaimer

Returned as MICA_EEA_SELL.

Type of disclaimerScreen and positionButton
The user only needs to see the text. There is nothing to accept.Quote screen, above the buttonNo change
The user only needs to see the text. There is nothing to accept.Order confirmation screen, above the buttonNo change

The exchange rate is an estimate and may change. You may receive more or less money. Your order and exchange rate become final when we receive your crypto.


UK Disclaimer

UK Investment Risk Warning

Returned as GB_INVESTMENT_RISK_WARNING. Show it as a banner at the top of the quote screen and the order confirmation screen. The user does not need to accept it.

Type of disclaimerScreen and positionButton
The user only needs to see the text. There is nothing to accept.Quote screen, as a banner at the topNo change
The user only needs to see the text. There is nothing to accept.Order confirmation screen, as a banner at the topNo change

Don’t invest unless you’re prepared to lose all the money you invest. This is a high-risk investment and you should not expect to be protected if something goes wrong. Take 2 mins to learn more