> ## 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.

# Widget integration

> Ripio's embeddable On/Off Ramp widget: what your users can do inside it, what you configure, and what your backend still owns.

The widget is a hosted, themeable flow that takes a user from local currency to crypto and back. You mint a session token, send the user to a URL, and Ripio handles everything in between — identity, verification, payment, payout, history, refunds and support — while your backend follows along through the webhooks you already receive.

There is nothing to install: no SDK, no npm package, no script tag.

### What your users can do inside

<CardGroup cols={2}>
  <Card title="Sign in with an email" icon="envelope" href="/ramps-api/widget/flows/identity-and-terms">
    A one-time code establishes who they are, and Terms & Conditions acceptance is shared with your API integration.
  </Card>

  <Card title="Verify their identity" icon="id-card" href="/ramps-api/widget/flows/kyc">
    The full KYC flow, including the hand-off to the identity provider and the wait for a decision.
  </Card>

  <Card title="Answer the investor profile" icon="clipboard-list" href="/ramps-api/widget/flows/investor-profile">
    Brazilian partners only: the yearly suitability questionnaire the regulation requires before operating.
  </Card>

  <Card title="Buy crypto" icon="arrow-down" href="/ramps-api/widget/flows/on-ramp">
    Bank transfer, PIX, request-to-pay, Mercado Pago, PSE or card, depending on the country.
  </Card>

  <Card title="Sell crypto" icon="arrow-up" href="/ramps-api/widget/flows/off-ramp">
    Paid out to a destination account they nominate and can reuse next time.
  </Card>

  <Card title="See their past operations" icon="clock-rotate-left" href="/ramps-api/widget/flows/history-and-refunds">
    A history with per-operation timelines, and the ability to claim money back when something went wrong.
  </Card>

  <Card title="Fix a rejected payout" icon="wrench" href="/ramps-api/widget/flows/order-recovery">
    Change the destination account and have the order reprocessed — from inside the session, or from an emailed link days later.
  </Card>

  <Card title="Get help" icon="circle-question" href="/ramps-api/widget/troubleshooting">
    Open a support ticket from most screens, visible to your team through the public API.
  </Card>

  <Card title="Read it in their language" icon="language" href="/ramps-api/widget/configuration/partner-settings#language">
    Spanish, Rioplatense Spanish, English and Portuguese, chosen automatically or forced by you.
  </Card>
</CardGroup>

### What depends on your configuration

Not every capability is on for every account. These are the ones worth confirming before you build against them:

| Capability | Available when |
| - | - |
| Identity verification | Verification is enabled on your account. When it is not, users transact without it. |
| Transaction history | History is enabled on your account. |
| In-widget refunds | History is enabled, **plus** the per-ramp refund opt-in on your account. Refunds are claimed from the history, so the two are enabled together. |
| Emailed payout recovery links | Recovery is enabled on your account. It fails closed: without it, no link is sent. |
| Payment and payout methods | The providers enabled for your account, per country. |
| Off-ramp QR deposit screen | The QR screen is enabled on your account; otherwise the off-ramp redirects straight back to you. |
| Wallet address at sign-in | Your account requires the address when you mint a session token. |

See [Partner settings](/ramps-api/widget/configuration/partner-settings) for what else is configurable. All of it is set by Ripio — ask your Ripio contact to change any of it.

### Countries and methods

**Buying crypto**

| Country | Payment methods |
| - | - |
| Argentina | Bank transfer to a CVU, Mercado Pago |
| Mexico | Bank transfer to a CLABE (SPEI) |
| Colombia | PSE, BRE-B, request-to-pay via Bancolombia or Nequi |
| Brazil | PIX |

**Selling crypto**

| Country | Payout methods |
| - | - |
| Argentina | Bank transfer to a CBU, CVU or alias |
| Mexico | Bank transfer to a CLABE |
| Colombia | BRE-B key, or bank account |
| Brazil | PIX key |

<Note>
  For the full country-by-country breakdown, including limits and provider details, see [Countries & payment methods](/ramps-api/overview/countries/overview).
</Note>

### What stays on your side

The widget owns the user's experience, not your integration. You are still responsible for:

* **Minting a session token** per user, per visit. See [Authentication](/ramps-api/widget/get-started/authentication).
* **Mapping `external_ref` to your own user.** It is the key every webhook and redirect comes back with.
* **Receiving webhooks.** The widget produces the same [Ramps events](/ramps-api/webhooks/introduction) an API integration does, so your ledger, notifications and reconciliation work unchanged.
* **Handling the return.** The widget sends users back to one redirect URL. See [Returning to your app](/ramps-api/widget/get-started/returning-to-your-app).

<Note>
  Deciding between this and integrating the API directly? See [Choose your integration](/ramps-api/overview/choose-your-integration).
</Note>

### Get started

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/ramps-api/widget/get-started/authentication">
    Request credentials and mint a session token.
  </Card>

  <Card title="Launch the widget" icon="link" href="/ramps-api/widget/get-started/launch">
    The URLs, the sandbox hosts, and every parameter you can prefill.
  </Card>
</CardGroup>


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