Overview
Transactions are the core of Monei infrastructure. whether you’re sending Naira to a bank account, swapping tokens, or paying bills. This guide covers transaction types, lifecycle, monitoring, and troubleshooting. What you’ll learn:- Transaction types and flows
- Creating and submitting transactions
- Monitoring transaction status
- Transaction history and filtering
- Error handling and recovery
Transaction Types
Monei supports multiple transaction types across different rails:- Fiat Transactions
- Crypto Transactions
- Offramp Transactions
- Bill Payments
Naira-based operations
- Bank transfers (payouts)
- Virtual account deposits
- Peer-to-peer transfers
- Bill payments
- Wallet funding
- Instant to near-instant
- Nigerian Naira only
- KYC limits apply
- Requires transaction PIN
Transaction Lifecycle
Every transaction goes through several states:Initiated
Transaction created and submitted to MoneiActions:
- Request validation
- Balance check
- KYC limit verification
- Fee calculation
Processing
Transaction being executedFor Fiat:
- Banking network processing
- Account verification
- Transfer execution
- Blockchain submission
- Network propagation
- Miner/validator pickup
Confirming
Waiting for confirmations (crypto only)Confirmations required:
- Ethereum: 12 blocks (~3 minutes)
- BSC: 15 blocks (~45 seconds)
- Polygon: 128 blocks (~4 minutes)
- Solana: 32 slots (~13 seconds)
Completed
Transaction successfully finalizedUpdates:
- Balance updated
- Transaction record created
- Webhooks triggered
- Receipts generated
Creating Transactions
Bank Transfer (Fiat)
EVM Token Transfer
Solana Transfer
Monitoring Transactions
Get Transaction Status
Transaction States
| State | Description | Next Action |
|---|---|---|
initiated | Transaction created | Wait for processing |
processing | Being executed | Monitor status |
confirming | Waiting for confirmations | Wait for finality |
completed | Successfully finalized | None - done |
failed | Could not complete | Review error, retry if needed |
cancelled | User cancelled | Create new transaction |
Transaction History
Get All Transactions
Filter Transactions
Gas Fees (Crypto Transactions)
Understanding and managing blockchain transaction fees:Estimating Gas
Gas Optimization Tips
Timing
Timing
- Check network congestion before transactions
- Use off-peak hours for lower fees
- Monitor gas price trends
- Set max fee limits
Network Selection
Network Selection
- Use Polygon or BSC for low-value transfers
- Ethereum for high-value or security-critical transactions
- Solana for ultra-low fees
- Layer 2s (Arbitrum, Optimism) for balance
Batching
Batching
- Combine multiple operations when possible
- Use multicall contracts
- Batch token approvals
- Group similar transactions
Network Gas Comparison
| Network | Avg. Gas Fee | Transfer Time | Best For |
|---|---|---|---|
| Polygon | ~$0.01 | ~30s | Micro-transactions |
| BSC | ~$0.10 | ~3s | Low-cost transfers |
| Arbitrum | ~$0.20 | ~1m | Medium transfers |
| Optimism | ~$0.15 | ~1m | dApp interactions |
| Ethereum | ~$5.00 | ~3m | High-value transfers |
| Base | ~$0.05 | ~2s | Coinbase ecosystem |
| Solana | ~$0.001 | ~13s | High-frequency trading |
Error Handling
Common Transaction Errors
- Insufficient Balance
- Invalid Recipient
- Network Congestion
- KYC Limit Exceeded
Error Code:
INSUFFICIENT_BALANCECause:- Not enough funds for transaction amount
- Not enough native token for gas fees
- Balance reserved for pending transactions
Webhooks for Real-Time Updates
Set up webhooks to receive transaction updates automatically:Webhook Events
Best Practices
Verify Before Sending
Always verify recipient address and amount before submitting transactions
Monitor Status
Use webhooks or polling to track transaction progress in real-time
Handle Errors
Implement proper error handling with user-friendly messages
Test Small First
Send small test transactions before large transfers
Next Steps
Networks
Learn about supported blockchain networks
Error Handling
Comprehensive error handling guide
Transaction Management
Advanced transaction management features
Webhooks
Set up real-time transaction notifications

