Global payouts integration guide
This guide walks through the primary flows for integrating with Latitude’s global payouts product. You’ll learn how to create recipients, optionally lock exchange rates with quotes, and execute transfers.
Before you start, make sure you’re familiar with the API basics — authentication, idempotency, webhooks, and prefunding.
Summary
The high-level steps are as follows:
- Prerequisites
- Prefund your Latitude account with USD or USDC
- (Optional) Create a webhook subscription for
transferevents
- Create a recipient with financial account details
- (Optional) Create a quote to lock an exchange rate for 2 minutes
- Create a transfer — either referencing a quote or with transfer parameters directly
- Determine the outcome via webhooks or polling
Detailed Steps
Step 0: Prerequisites
a) Prefund your Latitude account
See API basics — Prefunded flows for funding options.
b) (Optional) Create a webhook subscription
Create a webhook subscription to be notified of transfer events. See API basics — Webhooks for details. The relevant event types for this flow are:
transfer.completed— sent when a transfer completes successfullytransfer.failed— sent when a transfer terminally fails
Step 1: Create a Recipient with Financial Account
Create a recipient profile with financial account information. The required fields vary by country — see Country-specific details for the full reference.
Request:
Response:
Step 2: (Optional) Create a Quote
Create a quote to lock the conversion rate and fees for 2 minutes. You must specify either source_amount (to send a fixed amount) or destination_amount (to have a specific amount arrive).
Request:
Response:
Step 3: Create a Transfer
You can create a transfer in two ways:
Option A: Using a quote (recommended)
Reference the quote ID to use the locked exchange rate and fees.
Request:
Option B: Without a quote
Provide the transfer parameters directly. The exchange rate will be determined at the time the transfer is processed. You may specify either source_amount or destination_amount.
Request:
Response (both options):
Step 4: Determine the Outcome
Once you’ve created a transfer, there are two options to determine the outcome:
- Webhooks (recommended): Listen for
transfer.completedortransfer.failedevents. See API basics — Webhooks. - Polling: Call
GET /v1/transfers/{id}to check the current status.

