Skip to main content

Overview

Request money is a two-sided journey:
  1. A requester asks for funds (Request API, or the request widget flow).
  2. RaaS Widgets mints a fund-request magic link for the sender (payer).
  3. The sender opens that link, funds the transfer, and RaaS Widgets creates an operation.
  4. You learn about progress through webhooks — mainly operation.* events keyed by requestId.
You do not need corridor-level processing details. Track the money request until an operation exists, then follow Operation lifecycle.

End-to-end flow

Two ways to create the ask

A. Request API (POST /v1/request-money)

On success RaaS Widgets:
  1. Creates an internal money request (requestId, e.g. req_…)
  2. Mints a fund-request magic link for the sender
  3. Emits request_money.created with fundRequestLink, requestId, amount, and status pending
Share fundRequestLink (or your landingLink / waLink wrappers) with the sender. On API errors you may receive request_money.failed (for example identity / OFAC rejection at create time). Details: Create and lookup · Request API webhooks.
request_money.updated is not emitted. After create, fulfillment and settlement arrive as operation.created / operation.completed / operation.failed / operation.cancelled.

B. Widget request flow

Mint a link with flow: "request". The requester builds the ask in the widget; the platform then mints the payer fund-request link. You typically see link.created for those links rather than request_money.created. See Request flow and Fund request.

What the sender does

The fund-request link carries the pinned amount, corridor, and requester payout profile. The sender:
  1. Opens the link → link.opened
  2. Completes CIP if needed (possible user.data_request)
  3. Confirms quote and funding → RaaS Widgets creates the operation
At that point the money request moves from waiting on a payer to accepted / in fulfillment. Your integration should key off the operation webhooks, not a separate “request fulfilled” event.

Public status vs operation status

Once the operation exists, Partner API operation.status uses createdprocessingcompleted | failed | cancelled. See Operation lifecycle.

Operation webhooks (fulfillment)

Correlate every operation.* event with the original ask using requestId from request_money.created (or from your stored money-request id). Example terminal success:

Mental model

Integration checklist

1

Create the ask

Call POST /v1/request-money or mint a request link. Persist requestId and the fund-request URL.
2

Handle create webhooks

Acknowledge request_money.created and/or link.created. Deliver the URL to the sender.
3

Wait for the sender

Expect link.opened, optional user.data_request, then operation.created with the same requestId.
4

Reconcile terminals

On operation.completed, mark the ask funded. On failed / cancelled, release holds and update your UX.

Request API

Overview and environments.

Request API webhooks

Event names and payloads.

Request flow

Widget path to originate an ask.

Operation lifecycle

Statuses after the operation exists.