Compliance Engine on both testnet and mainnet is only available for eligible
customers. Contact Circle through the
Compliance Engine request form
to get access.
Setting Up Your Testing Environment with Magic Values
- Use Magic Values for Testing:
- You can test different rules by sending transactions between Programmable Wallets and blockchain addresses ending with specific suffixes (referred to as “Magic Values”).
- For example, sending funds to an address ending in
999999999999triggers the Sanctioned Address rule.
- Address Generation:
- Use a vanity address generator like vanity-eth.tk to create an Ethereum address with the required suffix.
- Import the generated address into your ETH wallet (e.g. MetaMask) using the private key.
- Funding the Address:
- Add testnet tokens to your generated address using the Circle Faucet.
Summary of Test Cases
You can test the rules using both existing flows to trigger a screening evaluation against the magic value address generated in the previous steps:- By initiating transactions as usual using the Wallets APIs
- By invoking the address screening endpoint via the Compliance Engine API
| Suffix | Rule name | Risk level | Screening result |
|---|---|---|---|
999999999999 | Circle’s Sanctions Blocklist | Blocklist | DENIED |
999999998888 | Frozen User Wallet | Blocklist | DENIED |
999999997777 | Your blocklist | Blocklist | DENIED |
999999998999 | Severe Sanctions Risk (Owner) | Severe | DENIED |
999999998899 | Severe Terrorist Financing Risk (Owner) | Severe | DENIED |
999999998889 | Severe CSAM Risk (Owner) | Severe | DENIED |
999999997779 | Severe Illicit Behavior Risk (Owner) | Severe | DENIED |
999999997666 | High Illicit Behavior Risk (Owner) | High | APPROVED |
999999997766 | High Gambling Risk (Owner) | High | APPROVED |
NoteThis guide helps you test Circle’s transaction screening service thoroughly and
ensures your applications comply with Circle’s rules for real-time transaction
risk screening.
Test Cases Example Responses
1. Circle’s Sanctions Blocklist
- Magic Value: Address ending in
999999999999. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "Circle's Sanctions Blocklist",
"actions": ["REVIEW", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "addressValue",
"riskScore": "blocklist",
"riskCategories": ["Sanctions"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"transactionScreeningEvaluation": {
"ruleName": "Circle's Sanctions Blocklist",
"actions": ["DENY", "REVIEW", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "addressValue",
"riskScore": "blocklist",
"riskCategories": ["Sanctions"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "DENIED",
"decision": {
"ruleName": "Circle's Sanctions Blocklist",
"actions": ["REVIEW", "FREEZE_WALLET", "DENY"],
"reasons": [
{
"source": "address",
"sourceValue": "0xed594180baa31cd9cb95c2e55b33999999999999",
"riskScore": "blocklist",
"riskCategories": ["Sanctions"],
"type": "OWNERSHIP",
"signalSource": null
}
],
"screeningDate": "<timestamp>"
},
"address": "0xed594180baa31cd9cb95c2e55b33999999999999",
"chain": "MATIC",
"details": []
}
}
2. Frozen User Wallet
- Magic Value: Address ending in
999999998888. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "Frozen User Wallet",
"actions": ["REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "addressValue",
"riskScore": "blocklist",
"riskCategories": ["FROZEN"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"transactionScreeningEvaluation": {
"ruleName": "Frozen User Wallet",
"actions": ["DENY", "REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "addressValue",
"riskScore": "blocklist",
"riskCategories": ["FROZEN"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "DENIED",
"decision": {
"ruleName": "Frozen User Wallet",
"actions": ["REVIEW", "DENY"],
"reasons": [
{
"source": "address",
"sourceValue": "0x111F4247ada509383Ce9f241Ff64999999998888",
"riskScore": "blocklist",
"riskCategories": ["FROZEN"],
"type": "OWNERSHIP",
"signalSource": null
}
],
"screeningDate": "<timestamp>"
},
"id": "9199c1b2-8499-4cdd-83aa-6d73e696e09f",
"address": "0x111F4247ada509383Ce9f241Ff64999999998888",
"chain": "MATIC",
"details": [],
"alertId": "6f394f8b-9696-4dbb-a882-6bada11e22ac"
}
}
3. Your blocklist
- Magic Value: Address ending in
999999997777. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "Your blocklist",
"actions": ["REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "0xd89e56cba08ee44a9ca9f6c5f2f0999999997777",
"riskScore": "blocklist",
"riskCategories": ["UNSUPPORTED"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"transactionScreeningEvaluation": {
"ruleName": "Your blocklist",
"actions": ["REVIEW", "DENY"],
"reasons": [
{
"source": "address",
"sourceValue": "0xd89e56cba08ee44a9ca9f6c5f2f0999999997777",
"riskScore": "blocklist",
"riskCategories": ["UNSUPPORTED"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "DENIED",
"decision": {
"ruleName": "Your blocklist",
"actions": ["DENY", "REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "0x860ba02b2884296Aeab83e216d1e999999997777",
"riskScore": "blocklist",
"riskCategories": ["UNSUPPORTED"],
"type": "OWNERSHIP",
"signalSource": null
}
],
"screeningDate": "<timestamp>"
},
"id": "21387f8a-809a-401d-8b28-60cbf872a36e",
"address": "0x860ba02b2884296Aeab83e216d1e999999997777",
"chain": "MATIC",
"details": [],
"alertId": "c062db2a-ea95-47c5-b0c8-a7a967782b0e"
}
}
4. Severe Sanctions Risk (Owner)
- Magic Value: Address ending in
999999998999. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "Severe Sanctions Risk (Owner)",
"actions": ["REVIEW", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "0x21e936783ed3ced968ab083010eb999999998999",
"riskScore": "severe",
"riskCategories": ["SANCTIONS"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"transactionScreeningEvaluation": {
"ruleName": "Severe Sanctions Risk (Owner)",
"actions": ["DENY", "REVIEW", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "0x21e936783ed3ced968ab083010eb999999998999",
"riskScore": "severe",
"riskCategories": ["SANCTIONS"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "DENIED",
"decision": {
"ruleName": "Severe Sanctions Risk (Owner)",
"actions": ["FREEZE_WALLET", "DENY", "REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "0xbEcf2Fc0d5F639c513b8ac99846C999999998999",
"riskScore": "severe",
"riskCategories": ["SANCTIONS"],
"type": "OWNERSHIP",
"signalSource": {
"rowId": "3c5309dd-623c-4206-ac23-dceef7471351",
"pointer": "/addressRiskIndicator/0"
}
}
],
"screeningDate": "<timestamp>"
},
"id": "3aa5b955-a1b3-474d-8605-c9f5bfffbe91",
"address": "0xbEcf2Fc0d5F639c513b8ac99846C999999998999",
"chain": "MATIC",
"details": [
{
"id": "3c5309dd-623c-4206-ac23-dceef7471351",
"vendor": "<vendorName>",
"response": {
"chain": "polygon",
"address": "0xbEcf2Fc0d5F639c513b8ac99846C999999998999",
"entities": [
{
"entity": "DGqLQmvLoM",
"category": "Screening",
"riskScoreLevel": 80,
"riskScoreLevelLabel": "Severe"
}
],
"addressSubmitted": "0xbEcf2Fc0d5F639c513b8ac99846C999999998999",
"addressRiskIndicators": [
{
"category": "Sanctions",
"riskType": "OWNERSHIP",
"totalVolumeUsd": "2715.0367502807676",
"incomingVolumeUsd": "2052.45711257512",
"outgoingVolumeUsd": "662.5796377056477",
"categoryRiskScoreLevelLabel": "Severe"
}
],
"addressTotalVolumeUsd": "2715.0367502807676",
"addressIncomingVolumeUsd": "2052.45711257512",
"addressOutgoingVolumeUsd": "662.5796377056477"
},
"createDate": "<timestamp>"
}
],
"alertId": "c933b018-ccdd-430e-982e-164b097b227c"
}
}
5. Severe Terrorist Financing Risk (Owner)
- Magic Values: Address ending in
999999998899. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "Severe Terrorist Financing Risk (Owner)",
"actions": ["REVIEW", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "0x01f43824a066cebe734f3d949e48999999998899",
"riskScore": "severe",
"riskCategories": ["TERRORIST_FINANCING"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"transactionScreeningEvaluation": {
"ruleName": "Severe Terrorist Financing Risk (Owner)",
"actions": ["DENY", "REVIEW", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "0x01f43824a066cebe734f3d949e48999999998899",
"riskScore": "severe",
"riskCategories": ["TERRORIST_FINANCING"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "DENIED",
"decision": {
"ruleName": "Severe Terrorist Financing Risk (Owner)",
"actions": ["FREEZE_WALLET", "REVIEW", "DENY"],
"reasons": [
{
"source": "address",
"sourceValue": "0x8fF9C8a2bEdba9f4553f5e47A183999999998899",
"riskScore": "severe",
"riskCategories": ["TERRORIST_FINANCING"],
"type": "OWNERSHIP",
"signalSource": {
"rowId": "d1c036ca-6cfd-423e-8e9f-c2e6ac5a51dd",
"pointer": "/addressRiskIndicator/0"
}
}
],
"screeningDate": "<timestamp>"
},
"id": "ec1b1e47-31e2-4f61-9e0b-c5f786d36681",
"address": "0x8fF9C8a2bEdba9f4553f5e47A183999999998899",
"chain": "MATIC",
"details": [
{
"id": "d1c036ca-6cfd-423e-8e9f-c2e6ac5a51dd",
"vendor": "<vendorName>",
"response": {
"chain": "polygon",
"address": "0x8fF9C8a2bEdba9f4553f5e47A183999999998899",
"entities": [
{
"entity": "PFpd82Qj4Y",
"category": "Terrorist Financing",
"riskScoreLevel": 80,
"riskScoreLevelLabel": "Severe"
}
],
"addressSubmitted": "0x8fF9C8a2bEdba9f4553f5e47A183999999998899",
"addressRiskIndicators": [
{
"category": "Terrorist Financing",
"riskType": "OWNERSHIP",
"totalVolumeUsd": "2614.71272693432",
"incomingVolumeUsd": "2078.1795850416493",
"outgoingVolumeUsd": "536.5331418926708",
"categoryRiskScoreLevelLabel": "Severe"
}
],
"addressTotalVolumeUsd": "2614.71272693432",
"addressIncomingVolumeUsd": "2078.1795850416493",
"addressOutgoingVolumeUsd": "536.5331418926708"
},
"createDate": "<timestamp>"
}
],
"alertId": "a39b400c-d11c-4287-94c2-c31979a592a0"
}
}
6. Severe CSAM Risk (Owner)
- Magic Value: Address ending in
999999998889. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "Severe CSAM Risk (Owner)",
"actions": [
"REVIEW",
"FREEZE_WALLET"
],
"reasons": [
{
"source": "address",
"sourceValue": "0x068f626eacfbf669a0f4995b4de7999999998889",
"riskScore": "severe",
"riskCategories": [
"CSAM"
],
"type": "OWNERSHIP"
}
],
"screeningDate": “<timestamp>”
}
}
{
"transactionScreeningEvaluation": {
"ruleName": "Severe CSAM Risk (Owner)",
"actions": [
"DENY",
"REVIEW",
"FREEZE_WALLET"
],
"reasons": [
{
"source": "address",
"sourceValue": "0x068f626eacfbf669a0f4995b4de7999999998889",
"riskScore": "severe",
"riskCategories": [
"CSAM"
],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "DENIED",
"decision": {
"ruleName": "Severe CSAM Risk (Owner)",
"actions": [
"FREEZE_WALLET",
"DENY",
"REVIEW"
],
"reasons": [
{
"source": "address",
"sourceValue": "0x1c3Af0f2c682f3625B4D8C60b23c999999998889",
"riskScore": "severe",
"riskCategories": [
"CSAM"
],
"type": "OWNERSHIP",
"signalSource": {
"rowId": "a04389af-4830-4d35-a641-16c8b5af33c5",
"pointer": "/addressRiskIndicator/0"
}
}
],
"screeningDate": "<timestamp>"
},
"id": "b3d95694-c9e0-4d88-a27f-87bf241c4d37",
"address": "0x1c3Af0f2c682f3625B4D8C60b23c999999998889",
"chain": "MATIC",
"details": [
{
"id": "a04389af-4830-4d35-a641-16c8b5af33c5",
"vendor": "<vendorName>",
"response": {
"chain": "polygon",
"address": "0x1c3Af0f2c682f3625B4D8C60b23c999999998889",
"entities": [
{
"entity": "2wRepYwHMB",
"category": "Child Sexual Abuse Material (CSAM) Consumer",
"riskScoreLevel": 80,
"riskScoreLevelLabel": "Severe"
}
],
"addressSubmitted": "0x1c3Af0f2c682f3625B4D8C60b23c999999998889",
"addressRiskIndicators": [
{
"category": "Child Sexual Abuse Material (CSAM)",
"riskType": "OWNERSHIP",
"totalVolumeUsd": "2156.8026917979587",
"incomingVolumeUsd": "2336.8225842450083",
"outgoingVolumeUsd": "-180.01989244704964",
"categoryRiskScoreLevelLabel": "Severe"
}
],
"addressTotalVolumeUsd": "2156.8026917979587",
"addressIncomingVolumeUsd": "2336.8225842450083",
"addressOutgoingVolumeUsd": "-180.01989244704964"
},
"createDate": "<timestamp>"
}
],
"alertId": "cd278c66-fa44-40f6-8dde-c4fa81210f4c"
}
}
7. Severe Illicit Behavior Risk (Owner)
- Magic Value: Address ending in
999999997779. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "Severe Illicit Behavior Risk (Owner)",
"actions": ["REVIEW", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "0xd5d268603413c563a9739a4ca692999999997779",
"riskScore": "severe",
"riskCategories": ["ILLICIT_BEHAVIOR"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"transactionScreeningEvaluation": {
"ruleName": "Severe Illicit Behavior Risk (Owner)",
"actions": ["DENY", "REVIEW", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "0xd5d268603413c563a9739a4ca692999999997779",
"riskScore": "severe",
"riskCategories": ["ILLICIT_BEHAVIOR"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "DENIED",
"decision": {
"ruleName": "Severe Illicit Behavior Risk (Owner)",
"actions": ["REVIEW", "DENY", "FREEZE_WALLET"],
"reasons": [
{
"source": "address",
"sourceValue": "0xD5DFfE73DAc5B4eeF3cBe9EEDBD9999999997779",
"riskScore": "severe",
"riskCategories": ["ILLICIT_BEHAVIOR"],
"type": "OWNERSHIP",
"signalSource": {
"rowId": "76c7738b-7168-4a3c-b79c-dafddd34443d",
"pointer": "/addressRiskIndicator/0"
}
}
],
"screeningDate": "<timestamp>"
},
"id": "eae928b5-22a8-4800-8aee-9d4ccad0486c",
"address": "0xD5DFfE73DAc5B4eeF3cBe9EEDBD9999999997779",
"chain": "MATIC",
"details": [
{
"id": "76c7738b-7168-4a3c-b79c-dafddd34443d",
"vendor": "<vendorName>",
"response": {
"chain": "polygon",
"address": "0xD5DFfE73DAc5B4eeF3cBe9EEDBD9999999997779",
"entities": [
{
"entity": "d0LZgYvcxZ",
"category": "High Yield Investment Scheme",
"riskScoreLevel": 80,
"riskScoreLevelLabel": "Severe"
}
],
"addressSubmitted": "0xD5DFfE73DAc5B4eeF3cBe9EEDBD9999999997779",
"addressRiskIndicators": [
{
"category": "High Yield Investment Scheme",
"riskType": "OWNERSHIP",
"totalVolumeUsd": "2694.1238387788844",
"incomingVolumeUsd": "1515.9560043460124",
"outgoingVolumeUsd": "1178.167834432872",
"categoryRiskScoreLevelLabel": "Severe"
}
],
"addressTotalVolumeUsd": "2694.1238387788844",
"addressIncomingVolumeUsd": "1515.9560043460124",
"addressOutgoingVolumeUsd": "1178.167834432872"
},
"createDate": "<timestamp>"
}
],
"alertId": "22fa6e1a-0721-4967-8320-26fd93b334e4"
}
}
8. High Illicit Behavior Risk (Owner)
- Magic Value: Send funds to an address ending in
999999997666. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "High Illicit Behavior Risk (Owner)",
"actions": ["REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "address",
"riskScore": "high",
"riskCategories": ["ILLICIT_BEHAVIOR"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "APPROVED",
"decision": {
"ruleName": "High Illicit Behavior Risk (Owner)",
"actions": ["REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "0x5f7E820b57bA360562209f789D71999999997666",
"riskScore": "high",
"riskCategories": ["ILLICIT_BEHAVIOR"],
"type": "OWNERSHIP",
"signalSource": {
"rowId": "e6a16937-34d5-4ea7-a69d-daf5e7a49818",
"pointer": "/addressRiskIndicator/0"
}
}
],
"screeningDate": "<timestamp>"
},
"id": "867306ac-c75e-45ac-8f9f-d4bd8caccb11",
"address": "0x5f7E820b57bA360562209f789D71999999997666",
"chain": "MATIC",
"details": [
{
"id": "e6a16937-34d5-4ea7-a69d-daf5e7a49818",
"vendor": "<vendorName>",
"response": {
"chain": "polygon",
"address": "0x5f7E820b57bA360562209f789D71999999997666",
"entities": [
{
"entity": "AuND7zgiJv",
"category": "Mixer",
"riskScoreLevel": 40,
"riskScoreLevelLabel": "High"
}
],
"addressSubmitted": "0x5f7E820b57bA360562209f789D71999999997666",
"addressRiskIndicators": [
{
"category": "Malware",
"riskType": "OWNERSHIP",
"totalVolumeUsd": "2822.1827321490728",
"incomingVolumeUsd": "1619.6413453166992",
"outgoingVolumeUsd": "1202.5413868323735",
"categoryRiskScoreLevelLabel": "High"
}
],
"addressTotalVolumeUsd": "2822.1827321490728",
"addressIncomingVolumeUsd": "1619.6413453166992",
"addressOutgoingVolumeUsd": "1202.5413868323735"
},
"createDate": "<timestamp>"
}
],
"alertId": "267fb4c3-8fb2-49f1-8cc8-39c1e62cfed4"
}
}
9. High Gambling Risk (Owner)
- Magic Value: Address ending in
999999997766. - Result:
{
"transactionScreeningEvaluation": {
"ruleName": "High Gambling Risk (Owner)",
"actions": ["REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "0x2d6d4a938e7b69f9b67d815cd0c2999999997766",
"riskScore": "high",
"riskCategories": ["GAMBLING"],
"type": "OWNERSHIP"
}
],
"screeningDate": "<timestamp>"
}
}
{
"data": {
"result": "APPROVED",
"decision": {
"ruleName": "High Gambling Risk (Owner)",
"actions": ["REVIEW"],
"reasons": [
{
"source": "address",
"sourceValue": "0x5408E93c5B314D71bd000f903596999999997766",
"riskScore": "high",
"riskCategories": ["GAMBLING"],
"type": "OWNERSHIP",
"signalSource": {
"rowId": "4e8f5a71-6250-4ac3-a9b5-b6e1e7415b50",
"pointer": "/addressRiskIndicator/0"
}
}
],
"screeningDate": "<timestamp>"
},
"id": "7ed18366-8e6c-467e-84e0-9f20cc4fb45a",
"address": "0x5408E93c5B314D71bd000f903596999999997766",
"chain": "MATIC",
"details": [
{
"id": "4e8f5a71-6250-4ac3-a9b5-b6e1e7415b50",
"vendor": "TRM",
"response": {
"chain": "polygon",
"address": "0x5408E93c5B314D71bd000f903596999999997766",
"entities": [
{
"entity": "6I0BB6c42L",
"category": "Gambling Service",
"riskScoreLevel": 40,
"riskScoreLevelLabel": "High"
}
],
"addressSubmitted": "0x5408E93c5B314D71bd000f903596999999997766",
"addressRiskIndicators": [
{
"category": "Gambling Service",
"riskType": "OWNERSHIP",
"totalVolumeUsd": "2179.558889753797",
"incomingVolumeUsd": "1993.5326719259065",
"outgoingVolumeUsd": "186.02621782789038",
"categoryRiskScoreLevelLabel": "High"
}
],
"addressTotalVolumeUsd": "2179.558889753797",
"addressIncomingVolumeUsd": "1993.5326719259065",
"addressOutgoingVolumeUsd": "186.02621782789038"
},
"createDate": "<timestamp>"
}
],
"alertId": "4891023d-d19c-4e77-bcd0-c5d3fc24449a"
}
}