On-Ramp & Off-Ramp

Integrate MoneyGram Ramps for USDC On/Off-Ramping

MoneyGram Ramps enables wallets and exchanges to facilitate USDC deposits (on-ramp) and withdrawals (off-ramp) on the Stellar blockchain. Non-Stellar wallets can use blockchain bridging for compatibility.🚀


Step 1: Onboard Your Wallet

MoneyGram must allowlist your wallet domain to grant access. Complete the form below to be added to our allowlist.

Required Check for Non Custodial Wallets

Read about Stellar's documentation about TOML files for more info

Verify your TOML file before attempting to register, using the Stellar TOML Checker to avoid issues.

Get instant access to MoneyGram Ramps

Please provide your wallet details so we can allowlist your domain.

MoneyGram is powered by the Stellar blockchain.

Is your wallet on the Stellar blockchain?

Which environment would you like?

Doesn't use real funds and requires working
with MoneyGram onboarding team to complete transactions
Uses real funds and requires going
to physical locations to complete transactions

Is your wallet Non-Custodial or Custodial?

Wallet Details

Contact Email address for with this wallet.
Name of the Wallet
If the TOML file is hosted at https://previewstellar.moneygram.com/.well-known/stellar.toml,
enter previewstellar.moneygram.com
SEP-10 Auth Account: A Stellar account for authentication. (e.g. G...)
Account funds are withdrawn from (e.g. G...)
Funds will be deposited here (e.g. G...)
Clear Form

Step 2: Integration

Choose your integration path based on wallet type.

Option A: Stellar wallet

  1. Install Stellar SDK
    yarn add @stellar/typescript-wallet-sdk
    See Stellar Wallet SDK Docs.

  2. Authenticate (SEP-10)
    Implement SEP-10 for authentication.

    1. Custodial: Use your registered Stellar public key and a unique user ID memo (positive, ≤64 bits).
    2. Non-Custodial: Use the user’s public key and your domain’s SIGNING_KEY from the TOML file.
  3. Integrate SEP-24
    Follow SEP-24 for deposit/withdrawal services.

  4. Test Transactions
    Use the Stellar Demo Wallet on TestNet or MainNet to simulate cash-in/out.

  5. Setup (Optional for Testnet Only)

    1. Generate two Stellar keypairs (authentication and funds) via Stellar Lab.
    2. Fund accounts with XLM and USDC (set up a USDC trustline via Stellar Lab).
    3. Share public keys with MoneyGram for allowlisting.

Option B: Non-Stellar wallet

  1. Use a blockchain bridging provider (e.g., Allbridge or Wormhole) to enable USDC transactions on Stellar.

  2. Implement SEP-10 and SEP-24, ensuring bridge compatibility with Stellar’s network.
    1. SEP-10
    2. SEP-24

Step 3: Go Live

Sandbox (TestNet)

Test setup for USDC

  1. Add USDC trustline
  2. Get test funds at Circle Faucet.

Asset Details

Asset Code: USDC

Issuing Account: GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5

Production Preview (MainNet, Optional)

Allows you to test in production using reals funds.

There are limits associated with our Production Preview accounts

Limits: 10 USDC min / 20 USDC max per transaction, 100 USDC aggregate.

Setup for USDC

  1. Self register using self-onboarding form with Preview Environment.
  2. Add USDC trustline
  3. Add funds to your account to test
    1. Complete a Cash in transaction
    2. Send funds from another wallet to test transactions

Asset Details

Asset Code: USDC

Issuing Account: GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN


Production (MainNet)

You will need to get certified by MoneyGram if you want to go live in production fully. You should go through your Certification and KYB and Legal at the same time

Certification

KYB and Legal

  • Complete KYB onboarding and compliance at business.moneygram.com.
  • Sign legal agreements via DocuSign self-service.

Limits

  • On-ramp: 5 USDC min / 950 USDC max per transaction.
  • Off-ramp: 5 USDC min / 2,500 USDC max per transaction.
  • Off ramps Available in 174 countries.

MoneyGram Ramps Integration Guides

Transaction flow overview

  1. Authenticate via SEP-10.
  2. Initiate deposit/withdrawal using SEP-24.
  3. Open MoneyGram’s UI in a webview for KYC and transaction details.
  4. Poll for pending_user_transfer_start status.
  5. Send (withdrawal) or receive (deposit) USDC with provided memo.
  6. For withdrawals, provide MoneyGram’s reference number for cash pickup.

For more details on what do next, you can check out our linked guides below.

Acquire XLM & USDC

Authenticate with MoneyGram

Initiate Transaction

Listen for Notification

Send or Receive Funds

Poll Transaction Status

Fetch Reference Number

Key Implementation Notes

Custodial vs. Non-Custodial

Read this Stellar Blog post to go over the differences in more details here.

Table showing the differences of Custodial vs Non custodial integrating with MoneyGram

CustodialNon-Custodial
Allow use of single Stellar account for authentication and fundsUses induvial user accounts
Does NOT require Home Domain to be passed during SEP-10Requires Home Domain value passed during SEP-10
Requires SEP-9 Amount field to be passedOptional SEP-9 amount field
Allows use of certain SEP-9 fields to pass customer KYCDoesn't use SEP-9 fields to pass customer KYC

Stellar Concepts

  • Trustline: Links an account to an asset like USDC (learn more).
  • Memo: Identifier to tie transactions to records (learn more).

Resources