AML/KYC
TrexWallet includes a built-in Anti-Money Laundering (AML) system that monitors blockchain transactions for compliance risks. The system can operate in three modes with configurable thresholds and optional integration with external risk-scoring services.
Operating Modes
| Mode | Description | Use Case |
|---|---|---|
| Manual | All flagged transactions require manual operator approval | High-compliance environments |
| Semi-Automatic | Low-risk transactions auto-approved, high-risk flagged for review | Balanced approach (recommended) |
| Checks Disabled | AML checks are skipped entirely | Development/testing only |
The mode is configured per-project through the admin panel or API settings.
How AML Checks Work
When a blockchain transaction is detected (deposit, withdrawal, or address-linked payment), the AML system evaluates it through a multi-stage pipeline:
flowchart TD
A[Transaction Detected] --> B{Blacklist Check}
B -->|Address blacklisted| C[Block Transaction]
B -->|Not blacklisted| D{Whitelist Check}
D -->|Address whitelisted| E[Auto-Approve]
D -->|Not in whitelist| F{Amount Thresholds}
F -->|Below threshold| E
F -->|Above threshold| G{AmlBot Score}
G -->|Low risk| E
G -->|High risk| C
G -->|Not configured| H[Manual Review]
Stage 1: Address Lists
- Blacklist — known fraudulent or sanctioned addresses. Transactions are blocked immediately.
- Whitelist — trusted addresses (e.g., known exchanges, verified partners). Transactions are auto-approved.
Both lists are maintained through the admin panel and apply to subsequent checks.
Stage 2: Amount Thresholds
Configurable limits that trigger additional review:
| Setting | Description | Example |
|---|---|---|
| Single transaction limit | Maximum amount without review | 10,000 USDT |
| 24-hour aggregate limit | Total amount from same address in 24h | 50,000 USDT |
| Transaction count limit | Max transactions from same address in 24h | 20 |
Transactions exceeding any threshold are either blocked (Manual mode) or sent for AmlBot scoring (Semi-Automatic mode).
Stage 3: AmlBot Integration (Optional)
When configured, TrexWallet queries AmlBot for risk assessment:
- Address risk score — checks if the address is associated with known risks (darknet, mixers, stolen funds)
- Transaction risk score — evaluates the specific transaction's risk factors
Repeated checks may reuse a recent provider result according to the configured policy.
Blocked Transaction Handling
When a transaction is blocked:
- Transaction state changes to
Blocked - Funds are held in a special blocked-funds account
- AML officer receives notification in the admin panel
- Officer reviews and decides:
- Approve → funds move to the intended recipient, transaction continues to
Confirmed→Finished - Reject → funds are returned to sender, transaction moves to
Canceled
- Approve → funds move to the intended recipient, transaction continues to
AML Configuration
AML settings can be updated from the admin page:
{
"AmlMode": 1,
"AmlSingleTxLimit": 10000,
"Aml24hAggregateLimit": 50000,
"Aml24hCountLimit": 20,
"AmlBotApiKey": "your-amlbot-api-key",
"AmlBotEnabled": true
}
Admin Panel
TrexWallet provides two admin routes for AML:
| Route | Purpose |
|---|---|
/TrexAdmin/AMLControl | Configuration, lists, blocked queue, approve/reject, AmlBot report requests, Excel export |
/TrexAdmin/AmlBotReports | Manual AmlBot checks for addresses and transactions |
/TrexAdmin/AMLControl — sections
AMLControl is a tabbed operator page:
- Queue — pending review cases
- History — transaction history with AML context
- Manual Reports — stored AML report history
- Lists — blacklist / whitelist
- Config — AML thresholds and mode
Config panel
- Updates AML parameters (mode, thresholds, UseAmlBot).
- Changes take effect at runtime without requiring an application restart.
Address blacklist / whitelist
- Managed in collapsible UI sections and evaluated by address and network.
- Address matching is case-insensitive.
- List entries are a policy decision layer, not the same thing as a manual AML report.
Stopped transactions / Queue
- Table of blocked address transactions waiting for an officer decision.
- Actions: Approve, Reject, Report (AmlBot).
History
- Broader Income / Outcome listing with Excel export for operational and compliance review.
Approve / reject flow
- Approve — unblocks the flow per documented state rules (AML docs note
AmlBlockedis never cleared; approval addsAmlConfirmso the final flags retain audit history). - Reject — asks for a reason and records it with the compliance decision.
GetReport
- Requests an AmlBot check for an address or transaction.
- Transaction-based checks are stored in report history and linked to the related transaction.
- Address-only checks are stored in the same report history without requiring a transaction.
AML report history
TrexWallet keeps manual and operator-triggered AML checks in a separate report history.
It keeps:
- what was checked (
tx_reportvsaddress_report); - where it came from (
queue_inline,history_manual,address_manual,recheck); - what the provider answered (
risk_score,provider_status,provider_uid, raw JSON, PDF link); - what the operator decided next (
decision_status, decision comment, blacklist/whitelist link).
This is different from the blacklist/whitelist itself:
- the report is the investigation record;
- the list entry is the policy decision.
/TrexAdmin/AmlBotReports
Use this page when operators need on-demand AmlBot checks outside the automatic pipeline.
- It can be opened as a helper flow from queue/history.
- It can run both tx-based and address-only checks.
- Results should be stored in the AML report registry, not treated as one-time temporary UI output.
AML Reports
When AmlBot is configured, detailed reports are available:
- Risk score breakdown per address
- Historical checks for recurring addresses
- Aggregate statistics per period
Report history vs list decisions
TrexWallet should separate:
- manual report history — what was checked and what the provider answered
- blacklist / whitelist decisions — what the operator decided to do with that address
A report may lead to a list decision, but it is not the list decision itself.
Compliance Frameworks
TrexWallet's AML system is designed to support:
- MiCA (Markets in Crypto-Assets) — EU regulation
- GDPR — data protection (AML data retention policies)
- PCI DSS — payment card industry standards
Related
- Transaction States — Blocked state details
- Withdrawal Process — AML checks during withdrawals
- Deposits — AML monitoring for incoming transactions