Developer Docs

Integrate RocketRamp
Into Any System.

Embed a payment button on your website in minutes, or connect via API to automate payouts, send funds to users, and receive real-time webhook confirmations.

● REST API Iframe Embed Webhooks Test Mode Available
Setup Quick Start How It Works Endpoint Request Embed Script Code Examples Styling Webhooks Environments

Setup & Credentials

Before integrating, you need a Merchant ID and API Key. Both are created at app.vantack.com — the Vantack dashboard that powers RocketRamp's merchant infrastructure.

Create your free merchant account at app.vantack.com to get your Merchant ID and API Key. The same credentials work for both sandbox and production. Keep these private — they authenticate every API call you make.
1

Create Your Vantack Account

Go to app.vantack.com and sign in with your email. Click Create Your Wallet and fill out the basic details when prompted.

Note: the details you enter here are informational and do not determine whether your account gets created.

2

Find Your Merchant ID

From your app.vantack.com dashboard, go to SettingsAPI Keys. Your Merchant ID is displayed at the top of the API Keys page. Copy it — you'll use it as a header in every API call.

3

Generate an API Key

On the same API Keys page at app.vantack.com, click Create API Key. The dashboard will generate a new key and display it once. Copy it immediately — you will not be able to see the full key again after you leave the page.

4

Store Both Credentials Safely

Save your Merchant ID and API Key in a secure location — a password manager or encrypted secrets vault is ideal. Never commit them to source control and never expose the API Key in browser-side code. Treat the API Key like a password: if it leaks, rotate it from the same dashboard.

5

Test in Sandbox First

Your app.vantack.com Merchant ID and API Key work in both environments. Point your requests at the test host (test-api.vantack.com) while building — no real money moves. Switch to the production host when ready.

6

Set Up Your Webhook URL (Optional)

In your app.vantack.com dashboard, add a webhook URL to receive real-time notifications when transfers complete. See the Webhooks section for the payload format.

Quick Start — Simple Embed

The fastest way to add RocketRamp to any website. Drop one <script> tag where you want the button to appear. No API call required — the button opens the full RocketRamp app in a modal.

HTML
<!-- Paste this wherever you want the RocketRamp button -->
<script
  src="https://app.myrocketramp.com/embed/button/">
</script>

That's it. The button renders on your page and opens a RocketRamp modal when clicked. Users log in or sign up, then complete their transaction — no prefill, no user data sent from your side.

Use this approach for public-facing pages where you don't know the user's email ahead of time. For automated systems that do know the recipient, use the Prefill API below to pre-populate the destination and skip manual entry.

Automated Integration — How It Works

For automated websites and platforms that need to send funds to a specific user, the Prefill API lets your backend pre-fill the recipient's email before the RocketRamp button loads. Here's the full flow:

1. Your backend calls the Prefill API

POST to the Vantack API with the recipient's email and an optional memo. Your Merchant ID and API Key (from app.vantack.com) go in the headers.

2. API returns an embed_code

You receive a UUID embed_code that represents this prefill session. It expires after use.

3. Inject the embed_code into your page

Pass the embed_code as the data-embed-key attribute on the embed script. The button now loads with the recipient pre-filled.

4. User completes the transfer

The RocketRamp modal opens with the destination email already filled in. The user confirms and sends.

5. Webhook fires on completion

Your server receives a POST to your webhook URL with transfer details, amount, and status confirmation.

API Endpoint

Call this endpoint from your backend server — never from the browser, as it requires your private API Key.

Production
POST https://api.vantack.com/v1/merchants/embed/prefill
Test / Sandbox
POST https://test-api.vantack.com/v1/merchants/embed/prefill
Required Headers
HeaderValueNotes
Merchant-IDYour Merchant UUIDRequired
API-KeyYour API KeyRequired
Content-Typeapplication/jsonRequired

Request & Response

Request Body
FieldTypeDescription
emailstringEmail address of the fund recipientRequired
memostringOptional note attached to the transferOptional
JSON — Request
{
  "email": "recipient@example.com",
  "memo":  "Payout for order #1234"
}
Successful Response — 200 OK
JSON — Response
{
  "embed_code": "ca678360-5ae6-4f6b-be1d-8583c02447cb",
  "status":     "created"
}

The embed_code is a UUID that represents one prefill session. Pass it as the data-embed-key attribute on your embed script (see below).

Embed Script with Prefill Key

After getting the embed_code from the API, inject it into your page's <script> tag. Your backend should render this dynamically per user or per session.

HTML
<script
  src="https://app.myrocketramp.com/embed/button/"
  data-embed-key="YOUR_EMBED_CODE_HERE">
</script>

Replace YOUR_EMBED_CODE_HERE with the embed_code value returned from the API. In a server-rendered app, this would be output dynamically, e.g. data-embed-key="<?= $embed_code ?>" in PHP or data-embed-key="{{ embed_code }}" in a template engine.

Code Examples

Complete backend examples for calling the Prefill API and rendering the embed script. Call this server-side — never expose your API Key in the browser.

Node.js / Express
// Install: npm install node-fetch
// Get your Merchant ID and API Key from https://app.vantack.com
const fetch = require('node-fetch');

async function getRocketRampEmbedCode(recipientEmail, memo = '') {
  // Swap to 'https://test-api.vantack.com/v1/merchants/embed/prefill' for sandbox
  const response = await fetch('https://api.vantack.com/v1/merchants/embed/prefill', {
    method:  'POST',
    headers: {
      'Merchant-ID':   process.env.ROCKETRAMP_MERCHANT_ID,
      'API-Key':       process.env.ROCKETRAMP_API_KEY,
      'Content-Type':  'application/json',
    },
    body: JSON.stringify({ email: recipientEmail, memo }),
  });

  const data = await response.json();
  return data.embed_code; // UUID string
}

// Express route example:
app.get('/payout', async (req, res) => {
  const embedCode = await getRocketRampEmbedCode(
    req.user.email,
    `Payout for order #${req.query.orderId}`
  );

  // Render your template with embedCode injected
  res.render('payout', { embedCode });
});
Python / Flask
# Install: pip install requests
# Get your Merchant ID and API Key from https://app.vantack.com
import requests, os
from flask import Flask, render_template

app = Flask(__name__)

def get_rocketramp_embed_code(recipient_email: str, memo: str = "") -> str:
    # Swap to "https://test-api.vantack.com/v1/merchants/embed/prefill" for sandbox
    response = requests.post(
        "https://api.vantack.com/v1/merchants/embed/prefill",
        headers={
            "Merchant-ID":  os.environ["ROCKETRAMP_MERCHANT_ID"],
            "API-Key":      os.environ["ROCKETRAMP_API_KEY"],
            "Content-Type": "application/json",
        },
        json={"email": recipient_email, "memo": memo},
        timeout=10,
    )
    response.raise_for_status()
    return response.json()["embed_code"]

# Flask route example:
@app.route("/payout")
def payout_page():
    embed_code = get_rocketramp_embed_code(
        recipient_email=current_user.email,
        memo=f"Payout for order #{request.args.get('order_id')}"
    )
    return render_template("payout.html", embed_code=embed_code)
PHP
<?php
// Get your Merchant ID and API Key from https://app.vantack.com
function getRocketRampEmbedCode($email, $memo = ''): string {
    $ch = curl_init();
    curl_setopt_array($ch, [
        // Swap to 'https://test-api.vantack.com/v1/merchants/embed/prefill' for sandbox
        CURLOPT_URL            => 'https://api.vantack.com/v1/merchants/embed/prefill',
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER     => [
            'Merchant-ID: '  . getenv('ROCKETRAMP_MERCHANT_ID'),
            'API-Key: '      . getenv('ROCKETRAMP_API_KEY'),
            'Content-Type: application/json',
        ],
        CURLOPT_POSTFIELDS => json_encode([
            'email' => $email,
            'memo'  => $memo,
        ]),
    ]);
    $body = curl_exec($ch);
    curl_close($ch);
    return json_decode($body, true)['embed_code'];
}

// In your template:
$embedCode = getRocketRampEmbedCode(
    $_SESSION['user_email'],
    'Payout for order #' . $orderId
);
?>

<!-- In your HTML output: -->
<script
  src="https://app.myrocketramp.com/embed/button/"
  data-embed-key="<?= htmlspecialchars($embedCode) ?>">
</script>
cURL
# Get YOUR_MERCHANT_ID and YOUR_API_KEY from https://app.vantack.com
# For sandbox, swap the host to test-api.vantack.com (same credentials)
curl -X POST https://api.vantack.com/v1/merchants/embed/prefill \
  -H "Merchant-ID: YOUR_MERCHANT_ID" \
  -H "API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"recipient@example.com","memo":"Payout #1234"}'

# Response:
# {"embed_code":"ca678360-5ae6-4f6b-be1d-8583c02447cb","status":"created"}

Button Styling

Customize the embed button's colors to match your site's brand using optional data-* attributes.

AttributeExampleDescription
data-button-bg#ff5722Background color of the button
data-button-text#ffffffText color of the button
HTML — Styled Button
<script
  src="https://app.myrocketramp.com/embed/button/"
  data-embed-key="YOUR_EMBED_CODE_HERE"
  data-button-bg="#ff5722"
  data-button-text="#ffffff">
</script>

Webhooks

When a transfer is completed, RocketRamp sends a POST request to your webhook URL with a JSON payload. Configure your webhook URL in your app.vantack.com merchant dashboard.

Only process webhooks with status: "success". Verify the merchant_id matches your own before acting on any payload.
Payload
JSON — Webhook Payload
{
  "type":              "embed_transfer",
  "destination_email": "recipient@example.com",
  "merchant_id":       "mrch_7ca761c5-91c0-4fff-83f5-56403cff1180",
  "amount":            "1.00",
  "status":            "success",
  "memo":              "Payout for order #1234",
  "transfer_id":       "292",
  "timestamp":         "2025-11-21T13:32:42.204155-08:00"
}
Field Reference
type
Always embed_transfer for embed-originated transfers.
destination_email
The recipient's email address — matches the email you sent in the prefill request.
merchant_id
Your Merchant ID. Verify this matches your own ID before processing.
amount
Transfer amount as a string (e.g. "25.00"). Convert to decimal in your system.
status
success means the transfer completed. Only act on success events.
memo
The memo string you sent in the prefill request, if any.
transfer_id
Unique transfer ID. Store this to prevent duplicate processing.
timestamp
ISO 8601 timestamp of when the transfer was completed.
Webhook Handler Example (Node.js)
Node.js / Express
app.post('/webhooks/rocketramp', express.json(), (req, res) => {
  const { type, status, amount, destination_email, transfer_id, merchant_id } = req.body;

  // 1. Verify it's your merchant account
  if (merchant_id !== process.env.ROCKETRAMP_MERCHANT_ID) {
    return res.status(403).json({ error: 'Unknown merchant' });
  }

  // 2. Only process successful transfers
  if (type === 'embed_transfer' && status === 'success') {
    // 3. Credit the user, fulfill the order, etc.
    console.log(`Transfer ${transfer_id}: ${amount} to ${destination_email}`);
  }

  res.status(200).json({ received: true });
});

Environments

Switch between test and production by changing the API host. All other request/response formats are identical. Your Merchant ID and API Key come from app.vantack.com and work in both environments.

EnvironmentCredentials SourceAPI Base URLEmbed Script Source
Production app.vantack.com api.vantack.com app.myrocketramp.com/embed/button/
Test / Sandbox app.vantack.com test-api.vantack.com test.myrocketramp.com/embed/button/
The same Merchant ID and API Key from app.vantack.com work for both sandbox and production — you only change the API host. In test mode, no real money moves. Use real email addresses — the test environment mirrors production behavior exactly. Switch the API host and embed script src together when going live.
👋 Hi there! Have a question? Send us a message and we'll get back to you shortly.
✓ Message sent! We'll be in touch soon.
?