The Monerium service enables customers to purchase blockchain-based train delay protection using traditional SEPA payments instead of requiring a Web3 wallet. This service acts as a bridge between the traditional banking system and blockchain-based protection products.
Many people do not own their own Web3 wallet, which creates a barrier to accessing blockchain-based solutions. With this Monerium service, we enable customers to use our blockchain-based train delay protection while paying with EUR using SEPA payments and receiving potential payouts also via SEPA payments.
This solution removes the complexity of wallet management, private key storage, and blockchain interactions from the end user, making blockchain-based solutions accessible to traditional banking customers.
Monerium is a financial technology company and the main architect of EURe – an EU-regulated, fully-reserved Euro stablecoin that brings fiat Euro liquidity to the blockchain.
How Monerium works: Users make SEPA payments to Monerium and receive EURe at a 1:1 exchange rate, effectively tokenizing traditional Euro payments onto the blockchain.
Learn more: https://monerium.com/
We tested Monerium as a solution where customers can use our blockchain-based train delay protection without owning a Web3 wallet. Here's the flow:
- Purchase: Customers buy protection using a SEPA payment
- Blockchain Transaction: This Monerium service makes a blockchain transaction upon receiving a SEPA payment on behalf of the customer
- Payout: If the policy triggers a payout, it is sent via a blockchain transaction to this Monerium service and then forwarded via a SEPA payment to the customer
We use Monerium as the bridge between the SEPA network and our blockchain-based train protection.
Monerium can be used to give customers access to Web3 products without requiring them to own and manage their own wallet, using SEPA transfers instead. This approach can be applied to a variety of financial products, significantly lowering the barrier to entry for blockchain-based services.
monerium-service/
├── server.js # Main application server with API endpoints
├── telegram.js # Telegram bot for logging and notifications
├── validator.js # Input validation for journey and policy data
├── package.json # Node.js dependencies and scripts
├── .env.example # Environment variables template
├── templates/ # Email templates for customer notifications
│ ├── policy.handlebars
│ ├── payout.handlebars
│ ├── errorAmount.handlebars
│ └── errorAlreadyPaid.handlebars
└── ABI/ # Smart contract ABIs
├── Euro.json
├── TrainProduct.json
└── TrainRiskpool.json
- Express API Server: Handles policy requests and payment processing
- Monerium Integration: Manages SEPA-to-blockchain bridge functionality
- Smart Contract Interface: Interacts with train delay insurance contracts
- WebSocket Client: Real-time payment monitoring from Monerium
- Email System: Customer notifications for policy updates
- Telegram Bot: System monitoring and logging
- Node.js (v16 or higher)
- NPM
npm install- Copy the environment template:
cp .env.example .env- Configure your
.envfile with:- Monerium API credentials
- Blockchain network settings
- Smart contract addresses
- Email service configuration
- Telegram bot settings
node server.jsThe server will start on port 3002 and begin monitoring for SEPA payments via Monerium's WebSocket API.
POST /requestPolicy- Create a new train delay protection request
This repository contains experimental code and may be deprecated due to changes in the Monerium protocol. Always refer to the latest documentation and protocol specifications before using this code in production environments.