Pre-Screen. Post-Screen. Fail Closed.
Every transaction passes a compliance screen before funds move. Cross-chain address taint data checks the counterparty against sanction lists and flagged address databases in under 100ms. Post-execution screening generates the audit record. A screen that fails blocks the transaction at evaluation.
Three layers of screening
Every transaction flows through a pre-execution screen, the payment execution itself, and a post-execution audit record. A failure at any stage blocks the transaction and records the reason.
Pre-Execution Screening
Before any funds move, the counterparty address is checked against sanction lists and flagged address databases across all supported chains. The screen runs in under 100ms. A flagged address stops the transaction before it reaches the provider.
Cross-Chain Taint Data
Address taint data spans all 10 supported chains (8 EVM plus Solana and Tron). A sanctioned address on Ethereum is also flagged on Polygon, Arbitrum, Base, and every other chain. The screening engine maintains a unified view of address risk across the entire network.
Post-Execution Audit
After execution, a second screening pass generates the compliance audit record. This record captures the counterparty address, screening result, data sources consulted, and the timestamp. The audit trail is immutable and queryable through the API.
If screening fails, the transaction stops
The compliance engine operates on a fail-closed model. If the screening service is unavailable, the transaction is blocked. If the address check times out, the transaction is blocked. If the data source returns an ambiguous result, the transaction is blocked.
This design eliminates the risk of a transaction slipping through during a screening outage. The system defaults to denial until it can confirm the counterparty is clear.
Screening is automatic
Compliance screening runs on every transaction without additional code. The SDK handles pre-screening and post-screening as part of the standard payment flow. The developer does not need to call a separate screening endpoint.
# Compliance screening runs automatically
result = oris.payments.send(
agent_id="agent_abc123",
to="0x7f3a...8c2d",
amount=25.00,
chain="ethereum"
)
# Pre-screen and post-screen included
print(result.compliance.pre_screen)
# {"status": "CLEAR", "latency_ms": 47}
print(result.compliance.post_screen)
# {"audit_id": "aud_8f2c...", "recorded": true}
Every transaction leaves a trail
The compliance pipeline generates a complete audit record for every transaction. The record includes the pre-screen result, the post-screen result, the data sources consulted, and the decision logic that determined the outcome.
These records are stored in TimescaleDB hypertables with automatic compression. You can query them through the API or export them for external compliance reporting.
Pre-Execution Screen
The counterparty address is checked against sanction lists and flagged address databases before execution.
Transaction Execution
If the pre-screen passes, the transaction proceeds through the standard payment flow.
Post-Execution Audit
A second screening pass generates the immutable audit record with all data sources and decision logic.
Start screening transactions today
Compliance screening is built into every Oris transaction. Create an API key to begin.