“Requirement: Your application must be a public app.”
Quick Start
Send $10 from a user to your application:Authentication
Transfers support two authentication methods. The method you choose determines who the sender is.Bearer Token
Use a user OAuth token obtained viagenerateUserAccessToken or through the OAuth refresh flow. The token must include the MAKE_PAYOUT_TRANSFER_SEND scope.
Basic Auth
Use your application’s Api Key.Input
CreateTransferInput
“Only one funding source can be specified per request. If none is provided, the transfer draws from the sender’s cash balance. Funding sources are not available with Basic Auth.”📘 See Add Expense Details for full details on uploading attachments and working with memos and categories.
TransferDirection
Identify the recipient by account ID or by the external reference ID you assigned when creating the user. Provide one or the other, not both.“The recipient must be a registered user of your application.”
Response
Examples
Collect payment from a user (Bearer)
bankCardId, bankAccountId, or paypalVaultId to fund from an external source instead of the user’s cash balance.
Disburse funds to a user (Basic Auth)
externalReferenceId instead of accountId to identify the recipient by the ID you assigned.
Transfer between two users (Bearer)
Success response
Idempotency
Every request must include a uniqueidempotencyKey (a string you generate). If the same key is sent more than once, the API returns the result of the original request without creating a duplicate transfer. Keys are valid for 10 minutes.