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 (individuals with the global_payouts product type), 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 via
POST /v1/individualswith theglobal_payoutsproduct type - (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 (Individual) with Financial Accounts
Create a recipient profile with financial account information. The required fields vary by country — see Country-specific details for the full reference.
Request:
Response:
Quotes and transfers still refer to this recipient using recipient_id in their responses.
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.

