ACH, Wire Transfers & SWIFT Payments
Learn how ACH, Wire Transfers, and SWIFT payments work from a software engineer's perspective. This guide covers payment architecture, transaction lifecycle, clearing, settlement, routing numbers, SWIFT messages, enterprise banking workflows, and real-world Java banking systems.
Introduction
Moving money electronically is one of the most important capabilities provided by banks.
Every day, financial institutions process millions of domestic and international payments using different payment networks.
The three most important payment systems are:
- ACH (Automated Clearing House)
- Wire Transfers
- SWIFT
Although all three move money from one account to another, they differ significantly in:
- Speed
- Cost
- Settlement
- Security
- Use Cases
- Processing Architecture
As a banking software engineer, understanding these systems is essential because payment applications, core banking systems, fraud detection systems, and reconciliation platforms all integrate with these networks.
Learning Objectives
After completing this article, you will understand:
- ACH Fundamentals
- Wire Transfer Fundamentals
- SWIFT Network
- Clearing vs Settlement
- Routing Numbers
- SWIFT Codes
- Payment Lifecycle
- Enterprise Payment Architecture
- Java Payment Models
- Banking Best Practices
Electronic Payment Landscape
flowchart TD
Customer
Customer --> ACH
Customer --> Wire
Customer --> SWIFT
ACH --> DomesticPayments
Wire --> UrgentPayments
SWIFT --> InternationalPayments
High-Level Banking Architecture
flowchart LR
C["Customer"]
M["Mobile App"]
G["API Gateway"]
P["Payment Service"]
B["Core Banking"]
ACH["ACH Network"]
WIRE["Wire Network"]
SWIFT["SWIFT Network"]
C --> M
M --> G
G --> P
P --> B
B --> ACH
B --> WIRE
B --> SWIFT
What is ACH?
ACH stands for:
Automated Clearing House
ACH is an electronic payment network primarily used in the United States for low-cost domestic transfers.
Examples:
- Salary deposits
- Utility bill payments
- Mortgage payments
- Insurance premiums
- Tax refunds
- Vendor payments
ACH transactions are processed in batches rather than individually.
ACH Workflow
flowchart LR
C["Customer"]
OB["Originating Bank"]
ACH["ACH Network"]
RB["Receiving Bank"]
R["Receiver"]
C --> OB
OB --> ACH
ACH --> RB
RB --> R
ACH Characteristics
| Feature | Value |
|---|---|
| Processing | Batch |
| Speed | Same Day / 1–3 Days |
| Cost | Low |
| Country | Domestic (US) |
| Best For | Payroll, Bills, Recurring Payments |
ACH Example
Employer
↓
Payroll File
↓
ACH Network
↓
Employee Bank
↓
Savings Account
ACH Batch Processing
Unlike card payments, ACH processes payments in groups.
flowchart TD
Payment1
Payment2
Payment3
Payment4
Batch
Settlement
Payment1 --> Batch
Payment2 --> Batch
Payment3 --> Batch
Payment4 --> Batch
Batch --> Settlement
What is a Wire Transfer?
Wire Transfer is a real-time bank-to-bank transfer.
Unlike ACH:
- Individual processing
- Faster settlement
- Higher fees
- Used for urgent transfers
Examples:
- Home purchase
- Business payment
- Large-value transfer
- Emergency transfer
Wire Transfer Workflow
flowchart LR
S["Sender"]
SB["Sending Bank"]
FED["Federal Reserve"]
RB["Receiving Bank"]
R["Receiver"]
S --> SB
SB --> FED
FED --> RB
RB --> R
Wire Characteristics
| Feature | Value |
|---|---|
| Processing | Individual |
| Speed | Minutes to Hours |
| Cost | Higher |
| Country | Mostly Domestic |
| Best For | High-value Urgent Payments |
ACH vs Wire
| ACH | Wire |
|---|---|
| Batch | Real Time |
| Low Cost | High Cost |
| Slower | Faster |
| Payroll | Urgent Payments |
| Bills | Home Purchase |
| Salary | Business Settlement |
What is SWIFT?
SWIFT stands for:
Society for Worldwide Interbank Financial Telecommunication
SWIFT is not a payment system.
It is a secure messaging network that enables banks worldwide to exchange payment instructions.
SWIFT connects over 11,000+ financial institutions across more than 200 countries and territories.
SWIFT Architecture
flowchart LR
C["Customer"]
BA["Bank A"]
SWIFT["SWIFT Network"]
BB["Bank B"]
BEN["Beneficiary"]
C --> BA
BA --> SWIFT
SWIFT --> BB
BB --> BEN
SWIFT Payment Flow
flowchart LR
A["Initiate"]
B["Validate"]
C["Generate SWIFT Message"]
D["Transmit"]
E["Receiving Bank"]
F["Credit Account"]
A --> B
B --> C
C --> D
D --> E
E --> F
SWIFT Code
Every participating bank has a SWIFT/BIC code.
Example:
BOFAUS3N
BOFA
US
3N
Meaning:
- Bank Identifier
- Country
- Location
Routing Number
ACH and Wire Transfers in the US use routing numbers.
Example:
111000025
Used for:
- ACH Payments
- Domestic Wire Transfers
Clearing vs Settlement
Many developers confuse these concepts.
Clearing
Validation and exchange of payment information.
Settlement
Actual movement of money.
flowchart LR
A["Payment Request"]
B["Clearing"]
C["Settlement"]
D["Completed"]
A --> B
B --> C
C --> D
Payment Lifecycle
flowchart LR
Initiated
Validated
Authorized
Cleared
Settled
Completed
Initiated --> Validated
Validated --> Authorized
Authorized --> Cleared
Cleared --> Settled
Settled --> Completed
Enterprise Payment Architecture
flowchart TD
C["Customer"]
MB["Mobile Banking"]
APIGW["API Gateway"]
PS["Payment Service"]
FD["Fraud Detection"]
CB["Core Banking"]
ACH["ACH"]
WIRE["Wire"]
SWIFT["SWIFT"]
LEDGER["Ledger"]
NOTIFY["Notification"]
C --> MB
MB --> APIGW
APIGW --> PS
PS --> FD
PS --> CB
CB --> ACH
CB --> WIRE
CB --> SWIFT
CB --> LEDGER
PS --> NOTIFY
Java Payment Model
public class Payment {
private String paymentId;
private String paymentType;
private BigDecimal amount;
private String currency;
private String status;
}
Payment Types
ACH
WIRE
SWIFT
CARD
UPI
INTERNAL_TRANSFER
Payment API Example
POST /api/payments
Request
{
"paymentType":"WIRE",
"amount":5000,
"currency":"USD",
"beneficiary":"John Smith"
}
Response
{
"paymentId":"PAY12345",
"status":"PROCESSING"
}
Transaction Status
INITIATED
VALIDATED
AUTHORIZED
PROCESSING
SETTLED
SUCCESS
FAILED
REVERSED
Security
Payment systems implement:
- TLS Encryption
- OAuth2
- JWT Authentication
- MFA
- Digital Signatures
- Tokenization
- Fraud Detection
- AML Checks
- Audit Logs
Fraud Detection
Banks monitor:
- Unusual locations
- Large transfers
- Velocity rules
- Blacklisted accounts
- Device fingerprint
- Sanction screening
- AML rules
Compliance
Payment systems must comply with:
- PCI DSS
- AML
- KYC
- OFAC Screening
- FATF Guidelines
- NACHA Rules (ACH)
- SWIFT Security Controls Framework (SWIFT CSP)
Reconciliation
Every payment should reconcile:
flowchart LR
A["Customer Account"]
B["Ledger"]
C["Settlement"]
D["Reports"]
A --> B
B --> C
C --> D
Banks compare:
- Payment Request
- Authorization
- Settlement
- Ledger
- Statements
Real-World Examples
ACH
- Employee salary
- Utility bill
- Insurance payment
- Mortgage payment
Wire
- Home purchase
- Business payment
- Same-day settlement
- Large corporate transfer
SWIFT
- International education fee
- Overseas vendor payment
- Cross-border remittance
- International trade
Monitoring
Monitor:
- Payment Success Rate
- Settlement Time
- Queue Size
- Gateway Latency
- Failed Payments
- Fraud Alerts
- Reconciliation Errors
Tools:
- CloudWatch
- Datadog
- Grafana
- Splunk
Common Developer Challenges
- Duplicate payments
- Network timeout
- Partial settlement
- Retry logic
- Idempotency
- Currency conversion
- Time zone handling
- Reconciliation failures
- Message ordering
- Distributed transactions
Best Practices
- Use
BigDecimalfor monetary values - Implement idempotency keys
- Never store sensitive payment information in plain text
- Encrypt payment messages
- Validate routing and SWIFT codes
- Log transaction IDs for tracing
- Design retry mechanisms carefully
- Build reconciliation processes
- Monitor payment latency
- Follow regulatory requirements
Interview Questions
What is ACH?
ACH (Automated Clearing House) is a batch-based electronic payment network used primarily for low-cost domestic transfers within the United States.
What is a Wire Transfer?
A Wire Transfer is an individual, high-priority bank-to-bank transfer that typically settles within minutes or hours.
Is SWIFT a payment system?
No.
SWIFT is a secure global messaging network that transmits payment instructions between financial institutions. The actual movement of funds occurs through correspondent banking relationships and settlement systems.
What is the difference between Clearing and Settlement?
| Clearing | Settlement |
|---|---|
| Validates and exchanges payment information | Transfers actual funds |
| Occurs before settlement | Final movement of money |
Why is idempotency important in payment systems?
It ensures that retrying the same request does not create duplicate financial transactions.
Summary
In this article, we explored three of the most important banking payment systems:
- ACH
- Wire Transfers
- SWIFT
We covered:
- Payment architecture
- ACH processing
- Wire transfers
- SWIFT messaging
- Routing numbers
- SWIFT codes
- Clearing
- Settlement
- Enterprise architecture
- Java payment models
- Security
- Compliance
- Monitoring
- Developer best practices
Understanding these payment systems is essential for building enterprise banking applications. Whether developing Core Banking platforms, payment gateways, treasury systems, or fraud detection services, these concepts form the foundation of modern financial software.