Solution Recipe
Moderate Complexity
2-4 weeks

Instant Crypto On/Off-Ramp

Accept fiat via bank transfer, convert to stablecoins instantly, settle on-chain in seconds. Bridge traditional banking with blockchain settlements using OpenFinance + Stablecoins.

What You Get

A complete fiat-to-crypto infrastructure that handles the entire flow from bank account to blockchain wallet.

Instant Conversion

SEPA/SWIFT transfers automatically convert to eUSD/eEUR/eGBP stablecoins the moment they clear.

Regulatory Ready

Full KYC/AML compliance with Danish FSA supervision. All transactions audit-ready.

Multi-Chain Support

Deploy stablecoins to Ethereum, Polygon, Arbitrum, or any EVM-compatible chain.

24/7 Operations

On-chain settlements work around the clock with 10-15 second finality.

Implementation Steps

Six clear steps from integration to production launch with code examples.

1
Integrate Open Banking

Connect to ARYZE OpenFinance to accept SEPA instant payments and SWIFT transfers. Configure webhook endpoints to receive payment notifications.

// Initialize OpenFinance client
const openfinance = new OpenFinance({
  apiKey: process.env.ARYZE_API_KEY,
  environment: 'production'
});

// Create a payment intent
const intent = await openfinance.paymentIntents.create({
  amount: 10000, // 100.00 EUR
  currency: 'EUR',
  method: 'sepa_instant',
  metadata: { userId: 'user_123' }
});

console.log(intent.bankDetails); // IBAN, BIC, reference

API Endpoint: POST /v1/payment-intents

2
Configure Stablecoin Minting

Set up automatic stablecoin minting when fiat payments are received. Define minting rules and destination wallets.

// Configure auto-mint rules
const mintConfig = await stablecoins.mintConfigs.create({
  trigger: 'payment.received',
  sourceAsset: 'EUR',
  targetAsset: 'eEUR',
  destinationAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
  chain: 'ethereum',
  autoMint: true
});

// Mint manually for specific payment
const mint = await stablecoins.assets.mint({
  asset: 'eEUR',
  amount: 10000,
  destinationAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
  chain: 'polygon',
  metadata: { paymentId: intent.id }
});

API Endpoint: POST /assets/{asset}/mint

3
Set Up On-Chain Settlement

Configure on-chain settlement parameters including gas management, transaction monitoring, and confirmation thresholds.

// Monitor on-chain settlement
const transfer = await stablecoins.transfers.get(
  transferId
);

console.log({
  status: transfer.status, // 'pending', 'confirmed', 'finalized'
  txHash: transfer.transactionHash,
  confirmations: transfer.confirmations,
  blockNumber: transfer.blockNumber,
  gasUsed: transfer.gasUsed
});

// Configure gas strategy
const gasConfig = await stablecoins.gasConfigs.update({
  strategy: 'fast', // 'slow', 'medium', 'fast'
  maxGasPrice: '100', // gwei
  priorityFee: 'auto'
});
4
Handle Fiat-to-Crypto Flow

Build the user flow from payment initiation to on-chain confirmation. Handle edge cases like failed transfers and refunds.

// Complete on-ramp flow
async function processOnRamp(userId, amount, currency, wallet) {
  // 1. Create payment intent
  const intent = await openfinance.paymentIntents.create({
    amount, currency, metadata: { userId, wallet }
  });

  // 2. User completes bank transfer
  await displayBankDetails(intent.bankDetails);

  // 3. Webhook receives payment confirmation
  // (handled by webhook endpoint)

  // 4. Auto-mint triggered
  const mint = await stablecoins.assets.mint({
    asset: `e${currency}`,
    amount,
    destinationAddress: wallet,
    metadata: { paymentId: intent.id }
  });

  // 5. Return transaction details
  return { intent, mint };
}
5
Implement Webhooks

Set up webhook handlers to receive real-time updates on payments, mints, and on-chain transfers.

// Webhook handler
app.post('/webhooks/aryze', async (req, res) => {
  const event = req.body;

  switch(event.type) {
    case 'payment.received':
      // Trigger stablecoin mint
      await handlePaymentReceived(event.data);
      break;

    case 'asset.minted':
      // Notify user of successful on-ramp
      await notifyUser(event.data.userId, {
        amount: event.data.amount,
        asset: event.data.asset,
        txHash: event.data.transactionHash
      });
      break;

    case 'asset.transferred':
      // Update internal records
      await updateTransferStatus(event.data);
      break;
  }

  res.json({ received: true });
});
  • payment.received - Fiat payment confirmed
  • asset.minted - Stablecoin minted on-chain
  • asset.transferred - Transfer finalized with confirmations
6
Test End-to-End

Run comprehensive tests in sandbox environment before production launch. Test both on-ramp and off-ramp flows.

  • Test SEPA instant payments (2-10 seconds)
  • Test SEPA standard payments (1-2 business days)
  • Test multi-chain minting (Ethereum, Polygon, Arbitrum)
  • Test off-ramp redemptions (stablecoin to fiat)
  • Verify webhook delivery and retry logic
  • Test error handling and refund flows

Services Used

This recipe combines two core ARYZE services for complete fiat-crypto bridging.

OpenFinance

Accept SEPA instant, SEPA standard, and SWIFT transfers. Handles all bank integrations, KYC/AML compliance, and payment routing.

  • Virtual IBANs for each user
  • Real-time payment notifications
  • Automated reconciliation
Learn More
Stablecoins

Mint and burn eUSD, eEUR, and eGBP stablecoins on any EVM chain. Fully backed 1:1 with Danish FSA supervision.

  • Multi-chain deployment
  • Instant minting and burning
  • Regulatory compliant reserves
Learn More

Technical Requirements

API endpoints, webhooks, and SDKs needed for implementation.

API Endpoints
  • POST /v1/payment-intents
  • GET /v1/payment-intents/:id
  • POST /assets/{asset}/mint
  • POST /assets/{asset}/burn
  • GET /transfers/:id
  • POST /webhooks/configure
Webhook Events
  • payment.received
  • payment.failed
  • asset.minted
  • asset.burned
  • asset.transferred
  • transfer.confirmed
SDKs Available
  • Node.js / TypeScript
  • Python
  • REST API (any language)
  • GraphQL API
View Documentation

Related Industries

This recipe is commonly used in these industries.

Web3 & DeFi

Enable fiat on-ramps for DeFi protocols, NFT marketplaces, and crypto exchanges.

View Industry
Fintech

Add stablecoin wallets and crypto services to existing fintech platforms.

View Industry
iGaming

Instant deposits and withdrawals for gaming platforms with crypto options.

View Industry

Ready to Build Your On-Ramp?

Join companies using ARYZE to bridge traditional banking with blockchain settlements. Get started in sandbox in minutes.

Aryze

Complete financial infrastructure for modern enterprise. Modular, regulated, and built to compose.

Degraded performance

Subscribe

Stay updated with our latest insights and product developments

By subscribing, you agree to our privacy policy and consent to updates.