Transfer
Introduction
The Transfer API module enables in-store and online applications to transfer funds peer-to-peer, across 200+ countries and in multiple currencies. Funds can be transferred for payout in cash at a MoneyGram store, or deposited directly to a bank account or digital wallet. Crypto wallets can also use the Transfer API module to ramp on/off at a MoneyGram location.
API Sequence
Transfer with quote is the standard model for transferring funds and consists of a three-part API call sequence: quote, update and commit a transaction. In this model, MoneyGram will provide a consumer quote which will typically comprise of a fee, foreign exchange rate, currencies and service options. The customer will then update the transaction with consumer and transactional information before finally committing/executing the transfer of funds.
- Quote a transaction |
POST /transfer/v1/transactions/quote
POST /transfer/v1/transactions/quote
To quote a transaction, the application must include the destination country and the amount in the API request. The endpoint will successfully respond with an array of quotes, typically containing send amounts, receive amounts, fees, guaranteed FX rates , and totals.
NOTE: The quote endpoint creates a transactionId resource for each quote listed in the response. Once the customer has selected a quote, the application must use the corresponding transactionId to update and commit the resource to MoneyGram.
- Update a transaction |
PUT /transfer/v1/transactions/{transactionId}
PUT /transfer/v1/transactions/{transactionId}
The application must continue with one quote and update the transactionId resource with sender, receiver and transactional information. If the transaction is to be deposited to a bank, wallet, or card, the target account information must also be provided. The endpoint will validate all the details and successfully respond with a confirmed transaction quote.
NOTE: MoneyGram will perform real-time validation and compliance screening upon the submitted request. Depending on the results of the validation, the endpoint will respond with pass or fail scenarios. The application must build to handle these error code scenarios and allow the user to correct all errors.
- Commit a transaction |
PUT /transfer/v1/transactions/{transactionId}/commit
PUT /transfer/v1/transactions/{transactionId}/commit
The application must use the commit API to execute the transfer. The endpoint will successfully respond with the transaction reference number, which can be used by the customer to pick up the funds in cash or track the progress of their transfer. The funds will also be marked for settlement.
API Sequence Diagram

Endpoints
Take a more detailed view of the transfer API endpoints:
Name | HTTP method | Endpoints | Description |
---|---|---|---|
Quote a transaction | POST | /transfer/v1/transactions/quote | The quote API creates a transactionId resource and determines the service options, currencies and pricing available to a destination country. |
Update a transaction | PUT | /transfer/v1/transactions/{transactionId} | The update API determines what information to collect from the customer, validates the data for compliance purposes and updates the transactionId resource with the data gathered. |
Commit a transaction | PUT | /transfer/v1/transactions/{transactionId}/commit | The commit API executes the trasnsactionId and completes the transfer of funds. |
Example User Journey

1 - Get a quote
A transaction can be quoted by send or receive amount. MoneyGram provides
payment and payout options, competitive transfer fees and a foreign exchange rate.
MoneyGram also allows for promo codes to discount fees.
2 - Enter transaction details
3 - Fund the transaction
4 - Transaction summary
5 - Transaction complete

1 - Get a quote
The cashier quotes the transaction by a send or receive amount. MoneyGram
provides payment and payout options, competitive transfer fees and a foreign exchange rate.
MoneyGram also allows for promo codes to discount fees.
2 - Enter transaction details
3 - Transaction summary
4 - Transaction complete

1 - Select cryptocurrency to purchase
From the customer's wallet app, they select the cryptocurrency to purchase.
Exchange rates are provided for each cryptocurrency.
2 - Payment method and purchase amount
3 - Enter transaction details
4 - Transaction summary
5 - Ready for payment
6 - Pay in-store

1 - Select cryptocurrency to sell
From the customer's wallet app, they select the cryptocurrency to sell.
Exchange rates are provided for each cryptocurrency.
2 - Select withdraw method
3 - Enter transaction details
4 - Transaction summary
5 - Ready for pick up
6 - Pick up cash at a location

Updated about 1 month ago