> For a complete page index, fetch https://docs.transak.com/llms.txt

# How to Submit FCA Requirements (For UK Users only)

**FCA (Financial Conduct Authority)** compliance is required for all UK users before they can complete a crypto purchase.

## Why is it required?

UK's Financial Conduct Authority extended its **Financial Promotions regime** to cryptoassets under the [Financial Services and Markets Act 2000 (Financial Promotion) (Amendment) Order 2023](https://www.legislation.gov.uk/uksi/2023/612/contents/made). This means any business communicating or approving crypto-related promotions to UK retail consumers must comply with strict FCA rules regardless of where that business is based.

The regulation introduces three mandatory requirements before a UK user can complete a crypto purchase:

<table>
  <tbody>
    <tr>
      <td>
        <strong>
          Investor Categorization
        </strong>

        Users must be classified as a <strong>High Net Worth Investor</strong> or <strong>Self-Certified Sophisticated Investor</strong>. Retail consumers who do not meet either threshold are restricted from purchasing high-risk investments.
      </td>
    </tr>

    <tr>
      <td>
        <strong>
          Risk Disclosure Agreement
        </strong>

        Users must read and acknowledge a compliance agreement that clearly sets out the risks of investing in cryptoassets, including the possibility of losing their entire investment.
      </td>
    </tr>

    <tr>
      <td>
        <strong>
          Appropriateness Assessment
        </strong>

        Users must pass a short knowledge quiz to demonstrate they understand the risks before they are permitted to proceed. The FCA also mandates a <strong>24-hour cooling-off period</strong> for first-time investors before they can place an order.
      </td>
    </tr>
  </tbody>
</table>

## How it works?

## Different FCA Status

| Status                    | Meaning                                                                                                                     |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `CATEGORIZATION_PENDING`  | The user has not yet completed investor categorization. Render and submit the categorization quiz.                          |
| `AGREEMENT_PENDING`       | Categorization passed. The user must now read and sign the compliance agreement.                                            |
| `RISK_ASSESSMENT_PENDING` | Agreement accepted. The user must complete the risk knowledge quiz before proceeding.                                       |
| `RISK_ASSESSMENT_FAILED`  | The user failed the risk assessment. They can retry as long as the maximum number of attempts has not been reached.         |
| `BLOCKED_RETRY`           | The user has exceeded the maximum number of retry attempts. No submission is allowed until the 24-hour wait period expires. |
| `COOLING_PERIOD`          | The user has passed all steps. A mandatory FCA cooling-off period is now active before the first order can be placed.       |

## When to integrate?

If a user requires FCA compliance, [Get Additional Requirements](/api/whitelabel/kyc/get-additional-requirements) API will include `"type": "FCA"` in the response alongside any other pending KYC requirements. The `status` in response indicates the next pending FCA step awaiting completion.

```json
{
  "data": {
    "formsRequired": [
      {
        "type": "FCA",
        "metadata": {
          "status": "AGREEMENT_PENDING"
        }
      }
    ]
  }
}
```

## How to Integrate?

Call [Get Additional Requirements](/api/whitelabel/kyc/get-additional-requirements) API with the `quoteId`. If the response includes a form entry with `type: FCA`, the user must complete the FCA flow.

```json
{
  "data": {
    "formsRequired": [
      {
        "type": "FCA",
        "metadata": {
          "status": "CATEGORIZATION_PENDING"
        }
      }
    ]
  }
}
```

Call [Get FCA Requirements](/api/whitelabel/fca/get-fca-requirements) API with the current status to fetch the FCA requirements of the step.

Using the data returned from the previous step, render the appropriate UI for the current FCA status.

| Status                    | What to show                                                                        |
| ------------------------- | ----------------------------------------------------------------------------------- |
| `CATEGORIZATION_PENDING`  | Render the investor categorization quiz and collect answers                         |
| `AGREEMENT_PENDING`       | Display the compliance agreement and collect the user's signature                   |
| `RISK_ASSESSMENT_PENDING` | Render the risk knowledge quiz and collect answers                                  |
| `RISK_ASSESSMENT_FAILED`  | Inform the user they failed and present the quiz again for retry                    |
| `BLOCKED_RETRY`           | Show a waiting screen with the `canRetryAfter` timestamp                            |
| `COOLING_PERIOD`          | Inform the user that FCA is complete and they are in a mandatory cooling-off period |

Call [Post FCA Requirements](/api/whitelabel/fca/post-fca-requirements) API with the user's input for the current status.

After every successful submission, call [Get FCA Status](/api/whitelabel/fca/get-fca-status) API to retrieve the updated status.

| Status             | Action                                                 |
| ------------------ | ------------------------------------------------------ |
| `COMPLETED`        | FCA flow is complete                                   |
| `Any other status` | Go back to **Step 2** with the new status and continue |