> For the complete documentation index, see [llms.txt](https://docs.compliance.phalcon.blocksec.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.compliance.phalcon.blocksec.com/fr/api-documentation/transaction-screening/screen-a-single-transaction.md).

# Contrôler une Transaction Unique

Examine un transfert unique à l'aide de tous les moteurs de risque activés et retourne les résultats de l'examen. Si l'examen prend plus de 10 secondes, il devient une tâche asynchrone et retourne un ID de tâche.

## Screen a single transaction

> Screen one transaction with optional transfer targeting.

```json
{"openapi":"3.0.0","info":{"title":"Compliance API","version":"2.0.0"},"tags":[{"name":"Transaction Screen","description":"Transaction screening and retrieval APIs."}],"servers":[{"url":"https://api.blocksec.com/phalcon/compliance/v2","description":"Production server"}],"security":[{"API-Key":[]}],"components":{"securitySchemes":{"API-Key":{"type":"apiKey","in":"header","name":"API-Key"}},"schemas":{"TransactionScreen":{"type":"object","required":["chainId","hash","direction"],"properties":{"chainId":{"type":"integer","description":"The chain ID. For all supported chains and corresponding chain IDs, see [https://docs.compliance.phalcon.blocksec.com/api-documentation/introduction/supported-chains](https://docs.compliance.phalcon.blocksec.com/api-documentation/introduction/supported-chains)."},"hash":{"type":"string","description":"The transaction hash."},"direction":{"type":"string","description":"The direction of the transaction."},"toAddress":{"type":"string","description":"The user’s deposit address (for deposits) or withdrawal address (for withdrawals)."},"transferIndex":{"type":"integer","description":"The index of the transfer within the transaction. Optional; used to identify a specific transfer if direction and toAddress are not unique. For BTC transactions, this field represents the toAddressIndex. If omitted and multiple transfers match, the first transfer will be used."},"includeDetails":{"type":"boolean","description":"Deprecated. Whether to include the legacy riskDetail field on every alert. Defaults to false. Still functional today; scheduled for removal on 2026-08-31.","deprecated":true}}},"ErrorCodeMsg":{"properties":{"code":{"type":"integer"},"msg":{"type":"string"}}},"TransactionScreenResult":{"type":"object","properties":{"taskId":{"type":"string","description":"The unique identifier for the screening task. Always returned for both synchronous and asynchronous results."},"hash":{"type":"string","description":"The transaction hash."},"fromAddress":{"type":"string","description":"The address of the sender."},"toAddress":{"type":"string","description":"The address of the receiver."},"amount":{"type":"string","description":"The amount of the token transferred."},"token":{"type":"string","description":"The token address."},"tokenSymbol":{"type":"string","description":"The symbol of the token."},"note":{"type":"string","description":"User-defined note for the transaction."},"fromIsBlacklisted":{"type":"boolean","description":"Deprecated. Whether the sender address is in your blacklist. Use `riskProfile.entityRisks` instead. Still functional today; scheduled for removal on 2026-08-31.","deprecated":true},"toIsBlacklisted":{"type":"boolean","description":"Deprecated. Whether the receiver address is in your blacklist. Use `riskProfile.entityRisks` instead. Still functional today; scheduled for removal on 2026-08-31.","deprecated":true},"fromIsWhitelisted":{"type":"boolean","description":"Deprecated. Whether the sender address is in your whitelist. Use `riskProfile.entityRisks` instead. Still functional today; scheduled for removal on 2026-08-31.","deprecated":true},"toIsWhitelisted":{"type":"boolean","description":"Deprecated. Whether the receiver address is in your whitelist. Use `riskProfile.entityRisks` instead. Still functional today; scheduled for removal on 2026-08-31.","deprecated":true},"riskLevel":{"type":"integer","description":"The risk level of the transaction."},"riskLevelDescription":{"type":"string","description":"The description of the risk level."},"lastScreenAt":{"type":"integer","description":"UNIX timestamp of the most recent screening for the transaction."},"screeningCount":{"type":"integer","description":"The total number of screenings for the transaction."},"unresolvedAlerts":{"type":"integer","description":"The number of unresolved alerts."},"riskProfile":{"$ref":"#/components/schemas/RiskProfile","description":"The consolidated risk findings for the transaction, organized by category (entity risks, interaction risks, behavior risks). Always returned, independent of includeDetails. Expired alerts are not reflected here."},"alerts":{"type":"array","description":"The alerts associated with the transaction.","items":{"$ref":"#/components/schemas/TransactionAlert"}}}},"RiskProfile":{"type":"object","description":"The consolidated risk findings, organized by category. Always returned. Expired alerts are excluded.","properties":{"entityRisks":{"type":"array","description":"Entity-level risks: risk indicators the address/participant is directly labeled with, plus blacklist/whitelist membership.","items":{"$ref":"#/components/schemas/EntityRisk"}},"interactionRisks":{"type":"array","description":"Risk exposure through fund flows to risky counterparties, grouped by indicator and direction.","items":{"$ref":"#/components/schemas/InteractionRisk"}},"behaviorRisks":{"type":"array","description":"Behavioral risks detected on the address/transaction.","items":{"$ref":"#/components/schemas/BehaviorRisk"}}}},"EntityRisk":{"type":"object","properties":{"type":{"type":"string","description":"The kind of entity risk.","enum":["riskIndicator","blacklist","whitelist"]},"riskLevel":{"type":"integer","nullable":true,"description":"The risk level. Null for list-membership entries (e.g. blacklist) that are not scored."},"riskLevelDescription":{"type":"string","description":"The description of the risk level."},"triggered":{"type":"boolean","description":"Whether this risk is triggered."},"alertIds":{"type":"array","description":"The alerts that contributed to this entity risk.","items":{"type":"string"}},"riskIndicator":{"type":"integer","description":"The risk indicator. Present when type is riskIndicator."},"riskIndicatorDescription":{"type":"string","description":"The description of the risk indicator. Present when type is riskIndicator."},"detail":{"type":"array","description":"Supplementary information. Present when type is riskIndicator.","items":{"type":"string"}},"listName":{"type":"string","description":"The name of the list. Present when type is blacklist or whitelist."},"reason":{"type":"string","description":"The reason the address was added to the list. Present when type is blacklist or whitelist."},"operator":{"type":"string","description":"Who added the address to the list. Present when type is blacklist or whitelist."},"addedAt":{"type":"integer","format":"int64","description":"When the address was added to the list, as a UNIX timestamp in milliseconds. Present when type is blacklist or whitelist."},"address":{"type":"string","description":"The participating address this risk belongs to. Transaction API only."},"label":{"type":"string","description":"The label of the participating address, if available. Transaction API only."}}},"InteractionRisk":{"type":"object","properties":{"indicator":{"type":"integer","description":"The risk indicator of the exposure. 0 for user-blacklist exposure."},"indicatorDescription":{"type":"string","description":"The description of the indicator (e.g. \"User Blacklist\" for blacklist exposure)."},"direction":{"type":"integer","description":"The direction of the exposure."},"riskLevel":{"type":"integer","description":"The risk level."},"riskLevelDescription":{"type":"string","description":"The description of the risk level."},"direct":{"$ref":"#/components/schemas/ExposurePart","description":"Direct exposure (hop 1)."},"indirect":{"$ref":"#/components/schemas/ExposurePart","description":"Indirect exposure (hop 2+)."},"total":{"$ref":"#/components/schemas/ExposureTotal","description":"Total exposure."},"triggered":{"type":"boolean","description":"Whether this exposure is triggered."},"alertIds":{"type":"array","description":"The alerts that contributed to this exposure.","items":{"type":"string"}}}},"ExposurePart":{"type":"object","properties":{"exposureValue":{"type":"string","description":"The exposure value in USD."},"exposurePercent":{"type":"number","description":"The exposure as a percentage."},"triggered":{"type":"boolean","description":"Whether this part of the exposure is triggered."}}},"ExposureTotal":{"type":"object","properties":{"exposureValue":{"type":"string","description":"The total exposure value in USD."},"exposurePercent":{"type":"number","description":"The total exposure as a percentage."}}},"BehaviorRisk":{"type":"object","properties":{"behaviorType":{"type":"string","description":"The kind of behavior risk. RapidTransit is only produced by the transaction API.","enum":["LargeTransfer","HighFrequencyTransfer","TransitAddress","RapidTransit"]},"riskLevel":{"type":"integer","description":"The risk level."},"riskLevelDescription":{"type":"string","description":"The description of the risk level."},"triggered":{"type":"boolean","description":"Whether this behavior risk is triggered."},"alertIds":{"type":"array","description":"The alerts that contributed to this behavior risk.","items":{"type":"string"}},"fields":{"$ref":"#/components/schemas/BehaviorRiskFields","description":"Behavior-specific fields; the populated subset depends on behaviorType."}}},"BehaviorRiskFields":{"type":"object","description":"Behavior-specific fields. Address API (aggregated over events): LargeTransfer uses maxValue, matchedEvents; HighFrequencyTransfer uses transferCount, timeWindow, avgInterval, matchedEvents; TransitAddress uses maxValue, timeWindow, matchedEvents. Transaction API (single event): LargeTransfer uses value, amount, token; RapidTransit uses value, timeWindow.","properties":{"maxValue":{"type":"string","description":"The largest single-transfer USD value (address API)."},"matchedEvents":{"type":"integer","description":"The number of matched events (address API)."},"transferCount":{"type":"integer","description":"The number of transfers (HighFrequencyTransfer)."},"timeWindow":{"type":"integer","description":"The time window in seconds."},"avgInterval":{"type":"integer","description":"The average interval between transfers in seconds (HighFrequencyTransfer)."},"value":{"type":"string","description":"The USD value of the event (transaction API)."},"amount":{"type":"string","description":"The token amount transferred (transaction API, optional)."},"token":{"type":"string","description":"The token symbol (transaction API, optional)."}}},"TransactionAlert":{"type":"object","properties":{"alertId":{"type":"string","description":"The unique identifier for the alert."},"status":{"type":"integer","description":"The status of the alert."},"statusDescription":{"type":"string","description":"The description of the alert status."},"riskLevel":{"type":"integer","description":"The risk level of the alert."},"riskLevelDescription":{"type":"string","description":"The description of the risk level."},"description":{"type":"string","description":"The description of the alert."},"firstTriggeredAt":{"type":"integer","format":"int64","description":"The time the alert was first triggered, as a UNIX timestamp in seconds."},"lastUpdatedAt":{"type":"integer","format":"int64","description":"The time the alert was last updated, as a UNIX timestamp in seconds."},"riskActivityTime":{"type":"integer","format":"int64","description":"The time of the latest risk activity related to the alert, as a UNIX timestamp in seconds."},"riskEngineId":{"type":"string","description":"The unique identifier of the Risk Engine that generated the alert."},"riskEngineName":{"type":"string","description":"The name of the Risk Engine that generated the alert."},"riskDetail":{"type":"array","deprecated":true,"description":"Deprecated. The per-alert detail, returned only when includeDetails is set to true. Use the top-level `riskProfile` instead. Still functional today; scheduled for removal on 2026-08-31.","items":{"oneOf":[{"$ref":"#/components/schemas/EntityRiskData"},{"$ref":"#/components/schemas/InteractionRiskData"},{"$ref":"#/components/schemas/LargeTransferData"},{"$ref":"#/components/schemas/HighFrequencyData"},{"$ref":"#/components/schemas/TransitAddressData"},{"$ref":"#/components/schemas/BlacklistInteractionData"},{"$ref":"#/components/schemas/ParticipantRiskData"},{"$ref":"#/components/schemas/RapidTransitData"}]}}}},"EntityRiskData":{"type":"object","properties":{"riskIndicator":{"type":"integer","description":"The risk indicator of the alert."},"riskIndicatorDescription":{"type":"string","description":"The description of the risk indicator."},"detail":{"type":"array","description":"The supplementary information.","items":{"type":"string"}}}},"InteractionRiskData":{"type":"object","properties":{"riskIndicator":{"type":"integer","description":"The risk indicator of the alert."},"riskIndicatorDescription":{"type":"string","description":"The description of the risk indicator."},"direction":{"type":"integer","description":"The direction of the interaction."},"hop":{"type":"integer","description":"The hop of the interaction."},"exposureValue":{"type":"string","description":"The exposure value of the interaction."},"exposurePercent":{"type":"string","description":"The exposure percent of the interaction."},"contributions":{"type":"array","description":"The contributions of the interaction.","items":{"type":"object","properties":{"detail":{"type":"string","description":"The detail of the contribution."},"address":{"type":"string","description":"The address of the contribution."},"label":{"type":"string","description":"The label of the address, if available."},"hop":{"type":"integer","description":"The hop of the contribution."},"exposureValue":{"type":"string","description":"The exposure value of the contribution."},"exposurePercent":{"type":"number","description":"The exposure percent of the contribution."}}}}}},"LargeTransferData":{"type":"object","properties":{"transaction":{"type":"string","description":"The transaction hash."},"usdValue":{"type":"string","description":"The USD value of the transfer."},"direction":{"type":"integer","description":"The direction of the transfer."},"timestamp":{"type":"integer","description":"The timestamp of the transfer."},"token":{"type":"string","description":"The token address."},"tokenSymbol":{"type":"string","description":"The symbol of the token."},"tokenAmount":{"type":"string","description":"The amount of the token transferred."}}},"HighFrequencyData":{"type":"object","properties":{"transactionCount":{"type":"integer","description":"The number of transactions in the high-frequency series."},"duration":{"type":"integer","description":"The duration of the high-frequency series."},"transactionList":{"type":"array","description":"The list of transactions in the high-frequency series.","items":{"$ref":"#/components/schemas/TransactionItem"}}}},"TransactionItem":{"$ref":"#/components/schemas/LargeTransferData"},"TransitAddressData":{"type":"object","properties":{"inTransaction":{"type":"string","description":"The transaction hash."},"inTimestamp":{"type":"string","description":"The timestamp of the transaction."},"inUsdValue":{"type":"string","description":"The USD value of the transaction."},"outTransaction":{"type":"string","description":"The transaction hash."},"outTimestamp":{"type":"string","description":"The timestamp of the transaction."},"outUsdValue":{"type":"string","description":"The USD value of the transaction."},"transitPercent":{"type":"string","description":"The transit percent of the transaction."}}},"BlacklistInteractionData":{"type":"object","properties":{"transaction":{"type":"string","description":"The transaction hash."},"usdValue":{"type":"string","description":"The USD value of the transaction."},"timestamp":{"type":"string","description":"The timestamp of the transaction."},"direction":{"type":"integer","description":"The direction of the transaction."},"fromAddress":{"type":"string","description":"The address of the sender."},"toAddress":{"type":"string","description":"The address of the receiver."},"token":{"type":"string","description":"The token address."},"tokenSymbol":{"type":"string","description":"The symbol of the token."},"tokenAmount":{"type":"string","description":"The amount of the token transferred."}}},"ParticipantRiskData":{"type":"object","properties":{"address":{"type":"string","description":"The address of the participant."},"riskIndicator":{"type":"integer","description":"The risk indicator of the participant."},"riskIndicatorDescription":{"type":"string","description":"The description of the risk indicator."},"detail":{"type":"array","description":"The supplementary information.","items":{"type":"string"}}}},"RapidTransitData":{"type":"object","properties":{"proceedTransaction":{"type":"object","description":"The transaction data.","$ref":"#/components/schemas/LargeTransferData"},"screenedTransaction":{"type":"object","description":"The transaction data.","$ref":"#/components/schemas/LargeTransferData"}}},"TransactionTaskResult":{"type":"object","properties":{"taskId":{"type":"string","description":"The unique identifier for the task."}}}}},"paths":{"/transaction/screen":{"post":{"tags":["Transaction Screen"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionScreen"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"$ref":"#/components/schemas/ErrorCodeMsg/properties/code","description":"The status code of this request. For all possible codes and corresponding errors/messages, see [https://docs.compliance.phalcon.blocksec.com/api-documentation/introduction/error-messages](https://docs.compliance.phalcon.blocksec.com/api-documentation/introduction/error-messages)."},"msg":{"$ref":"#/components/schemas/ErrorCodeMsg/properties/msg","description":"The message of this request. For all possible codes and corresponding errors/messages, see [https://docs.compliance.phalcon.blocksec.com/api-documentation/introduction/error-messages](https://docs.compliance.phalcon.blocksec.com/api-documentation/introduction/error-messages)."},"data":{"oneOf":[{"$ref":"#/components/schemas/TransactionScreenResult"},{"$ref":"#/components/schemas/TransactionTaskResult"}]}}}}}}},"description":"Screen one transaction with optional transfer targeting.","summary":"Screen a single transaction"}}}}
```
