> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ripio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose your integration

> Decide between the CaaS API and the embeddable Widget to add crypto trading to your platform.

There are two ways to add crypto trading — buying, selling, deposits, withdrawals — to your platform. Both run on the same account and the same underlying service — they differ in how much of the user experience you build yourself.

## The two paths

<CardGroup cols={2}>
  <Card title="API integration" href="/crypto-as-a-service/access-token/get-access-token">
    Call the REST API directly and build your own UI. Maximum control over the experience.
  </Card>

  <Card title="Widget integration" href="/crypto-as-a-service/widget/overview">
    Embed Ripio's pre-built, themeable UI. Fastest way to ship.
  </Card>
</CardGroup>

## Which one should you use?

| Feature | API integration | Widget integration |
| - | - | - |
| **Integration type** | Direct API calls, backend-to-backend primarily | Embeddable UI, frontend integration |
| **User experience** | Fully customizable by the partner | Pre-built UI, themeable via CSS custom properties |
| **Development effort** | Higher — you build the UI and handle trading logic yourself | Lower — mainly generating session codes and mounting the component |
| **Control** | Granular control over quotes, execution and every screen | Streamlined flow managed by the widget |
| **Use case** | Deep, custom trading integrations | A quick, easy way to add buy/sell |
| **Authentication** | OAuth2 Client Credentials for API access | One-time session code generated via API, which the widget exchanges for its session |

**Choose the API** if you want to own the end-to-end experience and embed trading natively in your product.

**Choose the Widget** if you want to go live quickly with minimal development.

## Next steps

Once you've decided:

* **API** → [Get an access token](/crypto-as-a-service/access-token/get-access-token), then create an [end user](/crypto-as-a-service/end-user/create-end-user) and a [reusable quote](/crypto-as-a-service/reusable-quotes/create-reusable-quote).
* **Widget** → [Widget integration](/crypto-as-a-service/widget/overview).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.