On/Off Ramp API
The Partner API for Plutope's Crypto OnRamp — manage orders, query transactions, and integrate the on/off ramp widget into your product.
Overview
The On/Off Ramp Partner API lets partners manage orders and transactions programmatically, and embed Plutope's branded on/off ramp widget. All API requests are authenticated with a partner API key.
Authentication
All requests are authenticated with an API key passed in the x-api-key header. Requests with a body must also send Content-Type: application/json.
x-api-key: YOUR_API_KEYContent-Type: application/jsonSeparate keys are issued for each environment — testApiKey for development and productionApiKey for live transactions. Keep API keys secure and never expose them client-side.
Base URL
https:"color:#6b7280;font-style:italic">//onramp.plutope.comEnvironments
Use the test API key. Widget loads with env=test.
Use the production API key. Widget loads with env=production (default).
Endpoints
Get Partner Transactions
/transactionsRetrieve a paginated list of the partner's transactions.
Headers
| Name | Description | Example |
|---|---|---|
| x-api-keyrequired | Your partner API key. | YOUR_API_KEY |
| Content-Type | Request content type. | application/json |
Query parameters
| Name | Description | Example |
|---|---|---|
| page | Page number. | 1 |
| limit | Results per page. | 10 |
| status | Optional status filter. | COMPLETED |
curl "https:">//onramp.plutope.com/transactions?page=1&limit=10" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json""color:#6b7280;font-style:italic">// Example response — confirm exact schemaGet Partner Statistics
/statsRetrieve aggregate statistics for the partner account.
Headers
| Name | Description | Example |
|---|---|---|
| x-api-keyrequired | Your partner API key. | YOUR_API_KEY |
curl "https:">//onramp.plutope.com/stats" \ -H "x-api-key: YOUR_API_KEY""color:#6b7280;font-style:italic">// Example response — confirm exact schemaComplete Order by External ID
/orders/completeMark an order as completed from the partner's system, referencing the partner's own external order ID.
Headers
| Name | Description | Example |
|---|---|---|
| x-api-keyrequired | Your partner API key. | YOUR_API_KEY |
| Content-Typerequired | Must be JSON. | application/json |
Body fields
| Name | Description | Example |
|---|---|---|
| externalId | The partner's order identifier. | YOUR_ORDER_ID |
| transactionHash | The on-chain transaction hash. | 0x1234abcd... |
| notes | Optional free-text note. | Completed from partner system |
Request body
{ "externalId": "YOUR_ORDER_ID", "transactionHash": "0x1234abcd...", "notes": "Completed from partner system"}curl -X POST "https:">//onramp.plutope.com/orders/complete" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "externalId": "YOUR_ORDER_ID", "transactionHash": "0x1234abcd...", "notes": "Completed from partner system" }'"color:#6b7280;font-style:italic">// Example response — confirm exact schemaHealth Check
/healthCheck API availability.
Headers
| Name | Description | Example |
|---|---|---|
| x-api-keyrequired | Your partner API key. | YOUR_API_KEY |
curl "https:">//onramp.plutope.com/health" \ -H "x-api-key: YOUR_API_KEY""color:#6b7280;font-style:italic">// Example response — confirm exact schemaWidget Integration
Embed the Plutope on/off ramp widget into your product. Two integration methods are supported.
https://onramp.plutope.com/https://onramp.plutope.com/plutope-widget.jsMethod 1 — iframe embed
<iframe src="https:">//onramp.plutope.com/app/widget?partner=YOUR_PARTNER_ID" width="100%" height="600px" frameborder="0" allow="payment"></iframe>Query parameters
Widget URL parameters
| Name | Description | Example |
|---|---|---|
| partnerrequired | Your partner ID. | YOUR_PARTNER_ID |
| theme | dark | light (default: dark). | dark |
| token | Pre-select a token. | USDT |
| amount | Pre-fill an amount. | 100 |
| env | test | production (default: production). | production |
| externalId | Your order tracking ID. | ORDER_123 |
Example URL with parameters
https:"color:#6b7280;font-style:italic">//onramp.plutope.com/app/widget?partner=YOUR_PARTNER_ID&theme=dark&token=USDT&amount=100&env=production&externalId=ORDER_123Method 2 — JavaScript SDK
<script src="https:">//onramp.plutope.com/plutope-widget.js"></script><script> PlutopeWidget.init({ partnerId: 'YOUR_PARTNER_ID', container: '#widget-container', theme: 'dark', onSuccess: (order) => { console.log('Order completed:', order); }, onError: (error) => { console.error('Widget error:', error); } });</script>Responsive embed
<div style="position: relative; padding-bottom: 100%; height: 0;"> <iframe src="https:">//onramp.plutope.com/app/widget?partner=YOUR_PARTNER_ID" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" frameborder="0" allow="payment" ></iframe></div>Customization & notes
- The widget automatically applies the partner's branding (colors, logo).
- Test mode uses the test API key; production uses the production API key.
- The widget height adjusts to content — recommended minimum height
600px.
Webhooks
Plutope sends webhook notifications for order events. Always validate webhook notifications from your backend before acting on them.
"color:#6b7280;font-style:italic">// Webhook payload schema — to be documentedSecurity
- Keep API keys secure; never expose them in client-side code.
- Use the test API key for development, the production API key for live transactions.
- Validate all webhook notifications server-side.
