← Protocols
Iron
Payments / Onramp·Multi-chain · EVM · Solana

Iron

01Description

Stablecoin payments infrastructure API from MoonPay, targeting banks, fintechs, PSPs, payroll, and remittance platforms. Five primitives: fiat-to-stablecoin onramp, stablecoin-to-fiat offramp, cross-chain swap, named virtual accounts for third-party collection, and regulated US-issuer stablecoin issuance.

02Best for
  • 01embedded onramp/offramp inside a fintech or neobank product
  • 02cross-border B2B payments settled in stablecoins
  • 03issuing named virtual accounts that customers can use to collect from third parties
  • 04launching a custom stablecoin under a regulated US issuer
  • 05treasury operations for institutions holding stablecoin balances
03Install
  • # REST API — no official SDK. Use fetch / ofetch / axios.
  • pnpm add zod # recommended for runtime-validating Iron responses
04Environment variables
VariableScopeDescription
IRON_API_KEYServerAPI key generated from the Iron partner dashboard (app.iron.xyz or app.sandbox.iron.xyz). Server-only.
IRON_API_BASE_URLServerSandbox or production base URL given during partner onboarding. Iron is partner-gated — base URLs aren't fully public.
IRON_WEBHOOK_SECRETServerSigning secret for verifying webhook deliveries (onramp completions, offramp settlements, swap confirmations, virtual-account credits).
05Prompt snippet
Use Iron when the product needs regulated stablecoin rails embedded inside a fintech UX. Onramp: server-side POST to `/v1/onramps` with `{ customer_id, amount, destination_chain, destination_token, destination_address }` → returns a quote and a hosted payment URL or direct ACH/SEPA instructions. Offramp: POST `/v1/offramps` with the user's stablecoin transfer details → returns the bank-account beneficiary the user funds. Swap: POST `/v1/swaps` for cross-chain stablecoin conversions. Virtual Accounts: POST `/v1/virtual_accounts` to issue a named USD/EUR account tied to a customer. Stablecoin Issuance is partner-onboarded only. All flows are async — register webhook handlers and verify HMAC signatures before mutating state.
06Gotchas
  • Iron is partner-gated — you must email support@iron.xyz and complete KYB before you can hit any endpoint. Plan for a multi-week onboarding before integration work begins.
  • Sandbox and production are completely separate environments with separate dashboards, keys, and webhook URLs — never share keys across environments.
  • MoonPay acquired Iron but the two API surfaces are distinct; do not assume MoonPay SDK methods map to Iron endpoints.
  • Onramp/offramp settlement is asynchronous (hours to a day for ACH/SEPA) — your UX must show a pending state, not optimistic success.
  • Compliance limits (per-customer caps, geographic restrictions) are enforced server-side and surface as 4xx errors at transact time, not at customer-creation time — handle gracefully.
  • Custom stablecoin issuance requires reserve attestation cadence and regulator sign-off on disclosures — engineering work is the easy half.
07Alternatives