MoneyGram Ramps

MoneyGram Ramps: USDC On/Off-Ramp Integration Overview

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.


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.

  1. Integrate SEP-24
    Follow SEP-24 for deposit/withdrawal services.

See MoneyGram Ramps Integration for detailed steps and code.


  1. Test Transactions

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

  1. Setup (Optionally 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:

  • Use a blockchain bridging provider (e.g., Allbridge or Wormhole) to enable USDC transactions on Stellar.
  • Implement SEP-10 and SEP-24 as above, ensuring bridge compatibility with Stellar’s network.

Step 3: Go Live

Sandbox (TestNet)

  • Test with Stellar Test Anchor:
    • Asset: Stellar Reference Token (SRT)
    • Issuing Account: GCDNJUBQSX7AJWLJACMJ7I4BC3Z47BQUTMHEICZLE6MU4KQBRYG5JY6B
  • Test USDC:
    • Add USDC trustline
    • Get test funds at Circle Faucet.
    • Asset Code: USDC
    • Issuing Account: GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5

Production Preview (MainNet, Optional)

Allows you to test in production using reals funds

  • Allowlist via self-onboarding form with Preview Environment.
  • Limits: 10 USDC min / 20 USDC max per transaction, 100 USDC aggregate.
  • Add USDC trustline
  • 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

  1. Certification:
  1. KYB and Legal:
  • Complete KYB onboarding and compliance at business.moneygram.com.
  • Sign legal agreements via DocuSign self-service.
  1. Limits:
  • On-ramp: 5 USDC min / 950 USDC max.
  • Off-ramp: 5 USDC min / 2,500 USDC max.
  • Off ramps Available in 174 countries.


Key Implementation Notes

  • Custodial vs. Non-Custodial
    • Custodial: Specify transaction amounts; use one Stellar account for authentication and funds.
    • Non-Custodial: Use individual user accounts and include home domain for authentication.
  • Transaction Flow:
    • Authenticate via SEP-10.
    • Initiate deposit/withdrawal using SEP-24.
    • Open MoneyGram’s UI in a webview for KYC and transaction details.
    • Poll for pending_user_transfer_start status.
    • Send (withdrawal) or receive (deposit) USDC with provided memo.
    • For withdrawals, provide MoneyGram’s reference number for cash pickup.
  • Error Handling:
    • Retry on 504 status codes.
    • Handle sequence number errors by fetching updated account details from Horizon.
  • Stellar Concepts:
    • Trustline: Links an account to an asset like USDC (learn more).
    • Memo: Identifier to tie transactions to records (learn more).


Resources


MoneyGram Ramps Integration Guides

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


What’s Next