ORIS
Home Platform Compliance Screening
security Compliance Screening

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.

Compliance Screen
0x7f3a...8c2d Ethereum
CLEAR
0x3a1f...9e4b Polygon
CLEAR
0xd4e2...1a7f Arbitrum
SANCTIONED
Screen latency 47ms
< 100ms
Pre-Screen Latency
2
Screen Phases
10
Chains Covered
100%
Fail-Closed Rate
How It Works
01

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.

shield

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.

swap_vert

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.

description

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.

Fail-Closed Architecture
02

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.

Address Lookup < 30ms
Sanction List Check < 40ms
Taint Score Evaluation < 20ms
Audit Record Write < 10ms
Total Pre-Screen < 100ms
Implementation
03

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_check.py
# 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}
Screening Pipeline
04

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.

1

Pre-Execution Screen

The counterparty address is checked against sanction lists and flagged address databases before execution.

2

Transaction Execution

If the pre-screen passes, the transaction proceeds through the standard payment flow.

3

Post-Execution Audit

A second screening pass generates the immutable audit record with all data sources and decision logic.

Get Started

Start screening transactions today

Compliance screening is built into every Oris transaction. Create an API key to begin.