diff --git a/.changeset/khaki-queens-brush.md b/.changeset/khaki-queens-brush.md new file mode 100644 index 000000000..b9573ca92 --- /dev/null +++ b/.changeset/khaki-queens-brush.md @@ -0,0 +1,5 @@ +--- +"@nocturne-xyz/deposit-screener": minor +--- + +Add unit tests, update internals diff --git a/actors/deposit-screener/.env.dev b/actors/deposit-screener/.env.dev index ed1d7be42..f31b292fc 100644 --- a/actors/deposit-screener/.env.dev +++ b/actors/deposit-screener/.env.dev @@ -8,4 +8,4 @@ SUBGRAPH_URL=http://localhost:8000/subgraphs/name/nocturne RPC_URL=http://127.0.0.1:8545 TX_SIGNER_KEY=0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e -ATTESTATION_SIGNER_KEY=0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e +ATTESTATION_SIGNER_KEY=0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e \ No newline at end of file diff --git a/actors/deposit-screener/package.json b/actors/deposit-screener/package.json index 93d887460..ba8fb4c05 100644 --- a/actors/deposit-screener/package.json +++ b/actors/deposit-screener/package.json @@ -26,7 +26,7 @@ "prettier:check": "prettier --check ./src", "prettier:write": "prettier --write ./src", "screener-cli": "npx ts-node src/cli/index.ts", - "test:unit": "" + "test:unit": "mocha --timeout 20000 -r ts-node/register test/** --exclude test/snapshots/** -r dotenv/config" }, "dependencies": { "@nocturne-xyz/config": "workspace:^", diff --git a/actors/deposit-screener/scripts/testMisttrackCallAndRuleset.ts b/actors/deposit-screener/scripts/testMisttrackCallAndRuleset.ts deleted file mode 100644 index 4c573eb7d..000000000 --- a/actors/deposit-screener/scripts/testMisttrackCallAndRuleset.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { ScreeningDepositRequest } from "../src"; -import { RuleParams, RuleSet } from "../src/screening/checks/RuleSet"; -import { - MisttrackRiskItem, - MisttrackRiskScoreData, -} from "../src/screening/checks/apiCalls"; - -const SAMPLE_DEPOSIT_REQUEST: ScreeningDepositRequest = { - spender: "0x86738d21db9a2ccc9747b2e374fd1a500f6eeb50", - assetAddr: "", - value: 0n, -}; - -const MISTTRACK_REJECT_SCORE_OVER_80_AND_PHISHING_THEFT_NONZERO: RuleParams<"MISTTRACK_ADDRESS_RISK_SCORE"> = - { - name: "MISTTRACK_REJECT_SCORE_OVER_80_AND_PHISHING_THEFT_NONZERO", - call: "MISTTRACK_ADDRESS_RISK_SCORE", - threshold: (data: MisttrackRiskScoreData) => { - const banlist: MisttrackRiskItem[] = [ - "Involved Theft Activity", - "Involved Phishing Activity", - "Malicious Address", - "Interact With Malicious Address", - ]; - const riskDetailContainsBanlistWords = data.detail_list.some((item) => - banlist.includes(item) - ); - return data.score > 80 && riskDetailContainsBanlistWords; - }, - action: { - type: "Rejection", - reason: "Score > 80 AND phishing/theft has > 0 attributions", - }, - }; - -(async () => { - const DUMMY_RULESET = new RuleSet().add( - MISTTRACK_REJECT_SCORE_OVER_80_AND_PHISHING_THEFT_NONZERO - ); - - DUMMY_RULESET.check(SAMPLE_DEPOSIT_REQUEST) - .then((result) => { - console.log("———————————First Test———————————"); - console.log("Expected result: ", { - type: "Rejection", - reason: "Score > 80 AND phishing/theft has > 0 attributions", - }); - console.log("Actual result: ", result); - console.log("————————————————————————————————"); - }) - .catch((err) => { - console.log(err); - }); -})(); diff --git a/actors/deposit-screener/scripts/testRulesets.ts b/actors/deposit-screener/scripts/testRulesets.ts deleted file mode 100644 index 5d7308a85..000000000 --- a/actors/deposit-screener/scripts/testRulesets.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { ScreeningDepositRequest } from "../src"; -import { RuleParams, RuleSet } from "../src/screening/checks/RuleSet"; -import { DummyTrmData } from "../src/screening/checks/apiCalls"; - -const DELAY_50_ALWAYS: RuleParams<"IDENTITY"> = { - name: "DELAY_50_ALWAYS", - call: "IDENTITY", - threshold: () => true, - action: { type: "Delay", operation: "Add", valueSeconds: 50 }, -}; - -const REJECT_IF_RISK_OVER_POINT_5: RuleParams<"DUMMY_TRM_SCREENING_ADDRESSES"> = - { - name: "REJECT_IF_RISK_OVER_POINT_5", - call: "DUMMY_TRM_SCREENING_ADDRESSES", - threshold: (data: DummyTrmData) => { - return data.risk > 0.5; - }, - action: { type: "Rejection", reason: "This should not fire" }, - }; - -const REJECT_ALWAYS: RuleParams<"IDENTITY"> = { - name: "REJECT_ALWAYS", - call: "IDENTITY", - threshold: () => true, - action: { - type: "Rejection", - reason: "If included, this should make the deposit always reject", - }, -}; - -const DELAY_100_IF_RISK_IS_POINT_FIVE: RuleParams<"DUMMY_TRM_SCREENING_ADDRESSES"> = - { - name: "DELAY_100_IF_RISK_IS_POINT_FIVE", - call: "DUMMY_TRM_SCREENING_ADDRESSES", - threshold: (data: DummyTrmData) => { - return data.risk === 0.5; - }, - action: { type: "Delay", operation: "Add", valueSeconds: 100 }, - }; - -const DELAY_BY_FACTOR_OF_2_IF_RISK_IS_POINT_FIVE: RuleParams<"DUMMY_TRM_SCREENING_ADDRESSES"> = - { - name: "DELAY_BY_FACTOR_OF_2_IF_RISK_IS_POINT_FIVE", - call: "DUMMY_TRM_SCREENING_ADDRESSES", - threshold: (data: DummyTrmData) => { - return data.risk === 0.5; - }, - action: { type: "Delay", operation: "Multiply", factor: 2 }, - }; - -const DELAY_10000000_NEVER: RuleParams<"IDENTITY"> = { - name: "DELAY_10000000_NEVER", - call: "IDENTITY", - threshold: () => false, - action: { type: "Delay", operation: "Add", valueSeconds: 10000000 }, -}; - -(async () => { - const DUMMY_RULESET = new RuleSet() - .add(DELAY_50_ALWAYS) - .add(REJECT_IF_RISK_OVER_POINT_5) - .add(DELAY_100_IF_RISK_IS_POINT_FIVE) - .add(DELAY_BY_FACTOR_OF_2_IF_RISK_IS_POINT_FIVE) - .add(DELAY_10000000_NEVER); - - const DUMMY_RULESET_2 = new RuleSet() - .add(DELAY_50_ALWAYS) - .add(REJECT_IF_RISK_OVER_POINT_5) - .add(DELAY_100_IF_RISK_IS_POINT_FIVE) - .add(REJECT_ALWAYS) - .add(DELAY_BY_FACTOR_OF_2_IF_RISK_IS_POINT_FIVE) - .add(DELAY_10000000_NEVER); - - const DUMMY_DEPOSIT_REQUEST: ScreeningDepositRequest = { - spender: "", - assetAddr: "", - value: 0n, - }; - - DUMMY_RULESET.check(DUMMY_DEPOSIT_REQUEST) - .then((result) => { - console.log("———————————First Test———————————"); - console.log("Expected result: ", { - type: "Delay", - timeSeconds: 300, - }); - console.log("Actual result: ", result); - console.log("————————————————————————————————"); - }) - .then(() => { - DUMMY_RULESET_2.check(DUMMY_DEPOSIT_REQUEST).then((result) => { - console.log("———————————Second Test———————————"); - // @ts-ignore - console.log("Expected result: ", REJECT_ALWAYS.action); - console.log("Actual result: ", result); - }); - }) - .catch((err) => { - console.log(err); - }); -})(); diff --git a/actors/deposit-screener/src/screening/checks/RuleSet.ts b/actors/deposit-screener/src/screening/checks/RuleSet.ts index c80c37e3b..9b412d09b 100644 --- a/actors/deposit-screener/src/screening/checks/RuleSet.ts +++ b/actors/deposit-screener/src/screening/checks/RuleSet.ts @@ -1,5 +1,10 @@ import { ScreeningDepositRequest } from ".."; -import { API_CALLS, ApiCallKeys, ApiMap, CallReturnData } from "./apiCalls"; +import { + API_CALL_MAP, + ApiCallNames, + ApiCallToReturnType, + CallReturnData, +} from "./apiCalls"; export interface Rejection { type: "Rejection"; reason: string; @@ -34,41 +39,44 @@ const ACTION_NOT_TRIGGERED = { type: "ActionNotTriggered", } as const; -export interface RuleParams { +export interface RuleParams { name: string; - call: K; - threshold: (data: ApiMap[K]) => boolean; + call: C; + threshold: (data: ApiCallToReturnType[C]) => boolean; action: Rejection | DelayAction; } -export type PartialRuleParams = Omit< - RuleParams, +export type PartialRuleParams = Omit< + RuleParams, "action" >; -export interface CombinedRulesParams> { - partials: { readonly [K in keyof T]: PartialRuleParams }; +export interface CombinedRulesParams> { + // Essentially a readonly object type, i.e, [PartialRuleParams, PartialRuleParams, ...] + partialRules: { readonly [C in keyof T]: PartialRuleParams }; action: Rejection | DelayAction; applyIf: "Any" | "All"; } +export type CachedApiCallData = Partial>; + export interface RuleLike { next: RuleLike | null; name: string; check: ( deposit: ScreeningDepositRequest, - cache: Record + cache: CachedApiCallData ) => Promise; } -export class Rule implements RuleLike { +export class Rule implements RuleLike { public next: RuleLike | null = null; - public readonly name: RuleParams["name"]; - private threshold: RuleParams["threshold"]; - private call: RuleParams["call"]; - private action: RuleParams["action"]; + public readonly name: RuleParams["name"]; + private threshold: RuleParams["threshold"]; + private call: RuleParams["call"]; + private action: RuleParams["action"]; - constructor({ name, call, threshold, action }: RuleParams) { + constructor({ name, call, threshold, action }: RuleParams) { this.name = name; this.call = call; this.threshold = threshold; @@ -77,54 +85,63 @@ export class Rule implements RuleLike { async check( deposit: ScreeningDepositRequest, - cache: Record + cache: CachedApiCallData ): Promise { if (!cache[this.call]) { - cache[this.call] = await API_CALLS[this.call](deposit); + cache[this.call] = await API_CALL_MAP[this.call](deposit); } - const data = cache[this.call] as ApiMap[K]; + const data = cache[this.call] as ApiCallToReturnType[C]; + return this.threshold(data) ? this.action : ACTION_NOT_TRIGGERED; } } -export class CompositeRule> +export class CompositeRule> implements RuleLike { public next: RuleLike | null = null; public readonly name: string; - private partials: CombinedRulesParams["partials"]; + private partialRules: CombinedRulesParams["partialRules"]; private action: CombinedRulesParams["action"]; private predicateFn: "some" | "every"; // corresponds to Array.prototype.some and Array.prototype.every constructor(params: CombinedRulesParams) { - this.name = `Composite(${params.partials.map((r) => r.name).join(", ")})`; - this.partials = params.partials; + this.name = `Composite(${params.partialRules + .map((r) => r.name) + .join(", ")}):${params.applyIf}`; + this.partialRules = params.partialRules; this.action = params.action; this.predicateFn = params.applyIf === "Any" ? "some" : "every"; } async check( deposit: ScreeningDepositRequest, - cache: Record + cache: CachedApiCallData ): Promise { - const shouldApply = this.partials[this.predicateFn](async (partial) => { - if (!cache[partial.call]) { - cache[partial.call] = await API_CALLS[partial.call](deposit); - } - const data = cache[partial.call] as ApiMap[typeof partial.call]; - return partial.threshold(data); - }); - return shouldApply ? this.action : ACTION_NOT_TRIGGERED; + const results = await Promise.all( + this.partialRules.map(async (partial) => { + if (!cache[partial.call]) { + cache[partial.call] = await API_CALL_MAP[partial.call](deposit); + } + const data = cache[ + partial.call + ] as ApiCallToReturnType[typeof partial.call]; + + return partial.threshold(data); + }) + ); + const shouldApplyRule = results[this.predicateFn]((_) => _); + return shouldApplyRule ? this.action : ACTION_NOT_TRIGGERED; } } export class RuleSet { private head: RuleLike | null = null; private tail: RuleLike | null = null; - private delaySeconds; + private readonly baseDelaySeconds; constructor({ baseDelaySeconds = 0 }: { baseDelaySeconds?: number } = {}) { - this.delaySeconds = baseDelaySeconds; + this.baseDelaySeconds = baseDelaySeconds; } private _add(ruleLike: RuleLike) { @@ -136,13 +153,13 @@ export class RuleSet { this.tail = ruleLike; } - add(ruleParams: RuleParams): RuleSet { + add(ruleParams: RuleParams): RuleSet { const rule = new Rule(ruleParams); this._add(rule); return this; } - combineAndAdd>( + combineAndAdd>( compositeParams: CombinedRulesParams ): RuleSet { const composite = new CompositeRule(compositeParams); @@ -150,13 +167,17 @@ export class RuleSet { return this; } - async check(deposit: ScreeningDepositRequest): Promise { + async check( + deposit: ScreeningDepositRequest, + cache: CachedApiCallData = {} + ): Promise { + let delaySeconds = this.baseDelaySeconds; let currRule = this.head; - const cache: Record = {}; const rulesLogList: { ruleName: string; result: Awaited>; }[] = []; + while (currRule !== null) { const result = await currRule.check(deposit, cache); rulesLogList.push({ @@ -167,14 +188,14 @@ export class RuleSet { console.log(`Screener execution for deposit:`, deposit, rulesLogList); return result; } else if (result.type === "Delay") { - this.delaySeconds = APPLY_DELAY_OPERATION[result.operation]( - this.delaySeconds, + delaySeconds = APPLY_DELAY_OPERATION[result.operation]( + delaySeconds, result.operation === "Add" ? result.valueSeconds : result.factor ); } currRule = currRule.next; } console.log(`Screener execution for deposit:`, deposit, rulesLogList); - return { type: "Delay", timeSeconds: this.delaySeconds }; + return { type: "Delay", timeSeconds: delaySeconds }; } } diff --git a/actors/deposit-screener/src/screening/checks/apiCalls.ts b/actors/deposit-screener/src/screening/checks/apiCalls.ts index 63011568d..642cfb699 100644 --- a/actors/deposit-screener/src/screening/checks/apiCalls.ts +++ b/actors/deposit-screener/src/screening/checks/apiCalls.ts @@ -1,4 +1,5 @@ import { ScreeningDepositRequest } from ".."; +import "dotenv/config"; export interface TrmAddressRiskIndicator { category: string; @@ -16,8 +17,9 @@ export interface TrmAddressRiskIndicator { riskType: "COUNTERPARTY" | "OWNERSHIP" | "INDIRECT"; totalVolumeUsd: string; } + export interface TrmData { - externalId: string; + externalId: string | null; addressIncomingVolumeUsd: string; addressOutgoingVolumeUsd: string; addressTotalVolumeUsd: string; @@ -79,33 +81,23 @@ export type MisttrackApiResponse = data: T; }; -export interface DummyTrmData { - risk: number; -} -export interface DummyMisttrackData { - misttrackRisk: number; -} - -export type CallReturnData = - | TrmData - | MisttrackData - | DummyTrmData - | DummyMisttrackData - | ScreeningDepositRequest; +export type CallReturnData = TrmData | MisttrackData | ScreeningDepositRequest; const TRM_BASE_URL = "https://api.trmlabs.com/public/v2"; const MISTTRACK_BASE_URL = "https://openapi.misttrack.io/v1"; -const TRM_API_KEY = ""; // TODO get from env, once we start paying for TRM -const MISTTRACK_API_KEY = "YourApiKey"; +const TRM_API_KEY = process.env.TRM_API_KEY ?? ""; +const MISTTRACK_API_KEY = process.env.MISTTRACK_API_KEY ?? ""; -export const API_CALLS = { +export const API_CALL_MAP = { TRM_SCREENING_ADDRESSES: async ( deposit: ScreeningDepositRequest ): Promise => { - const body = JSON.stringify({ - address: deposit.spender, - chain: "ethereum", - }); + const body = JSON.stringify([ + { + address: deposit.spender, + chain: "ethereum", + }, + ]); const response = await fetch(`${TRM_BASE_URL}/screening/addresses`, { method: "POST", headers: { @@ -116,17 +108,20 @@ export const API_CALLS = { }, body, }); - const data = (await response.json())[0] as TrmData; + const jsonResponse = await response.json(); + if (jsonResponse["code"] === 400) { + throw new Error(`Bad Request: ${jsonResponse["errors"]}`); + } + const data = jsonResponse[0] as TrmData; console.log(data); return data; }, - // TODO deal with copypasta code MISTTRACK_ADDRESS_OVERVIEW: async ( - deposit: ScreeningDepositRequest, - token = "ETH" + deposit: ScreeningDepositRequest ): Promise => { + const token = "ETH"; const response = await fetch( - `${MISTTRACK_BASE_URL}/address_overview?coin=${token}address=${deposit.spender}&api_key=${MISTTRACK_API_KEY}` + `${MISTTRACK_BASE_URL}/address_overview?coin=${token}&address=${deposit.spender}&api_key=${MISTTRACK_API_KEY}` ); const misttrackResponse = (await response.json()) as MisttrackApiResponse; @@ -156,20 +151,10 @@ export const API_CALLS = { console.log(misttrackResponse.data); return misttrackResponse.data; }, - DUMMY_TRM_SCREENING_ADDRESSES: async (deposit: ScreeningDepositRequest) => { - console.log(deposit); - return await Promise.resolve({ risk: 0.5 }); - }, - DUMMY_MISTTRACK_ADDRESS_RISK_SCORE: async ( - deposit: ScreeningDepositRequest - ) => { - console.log(deposit); - return await Promise.resolve({ misttrackRisk: 0.5 }); - }, IDENTITY: async (deposit: ScreeningDepositRequest) => deposit, } as const; -export type ApiCallKeys = keyof typeof API_CALLS; -export type ApiMap = { - [K in ApiCallKeys]: Awaited>; +export type ApiCallNames = keyof typeof API_CALL_MAP; +export type ApiCallToReturnType = { + [K in ApiCallNames]: Awaited>; }; diff --git a/actors/deposit-screener/src/screening/checks/v1/RULESET_V1.ts b/actors/deposit-screener/src/screening/checks/v1/RULESET_V1.ts index fa42e9a15..4538c2bcc 100644 --- a/actors/deposit-screener/src/screening/checks/v1/RULESET_V1.ts +++ b/actors/deposit-screener/src/screening/checks/v1/RULESET_V1.ts @@ -124,7 +124,7 @@ const SHORT_WALLET_HISTORY_DELAY: RuleParams<"MISTTRACK_ADDRESS_OVERVIEW"> = { const SHORT_WALLET_HISTORY_AND_HIGH_VALUE_WALLET_DELAY: CombinedRulesParams< ["MISTTRACK_ADDRESS_OVERVIEW", "MISTTRACK_ADDRESS_OVERVIEW"] > = { - partials: [ + partialRules: [ shortWalletHistoryPartial, { name: "SHORT_WALLET_HISTORY_AND_HIGH_VALUE_WALLET_DELAY", @@ -149,12 +149,12 @@ const SHORT_WALLET_HISTORY_AND_HIGH_VALUE_WALLET_DELAY: CombinedRulesParams< const SHORT_WALLET_HISTORY_AND_MIXER_USAGE_DELAY: CombinedRulesParams< ["MISTTRACK_ADDRESS_OVERVIEW", "MISTTRACK_ADDRESS_RISK_SCORE"] > = { - partials: [ + partialRules: [ shortWalletHistoryPartial, { - name: "SHORT_WALLET_HISTORY_AND_MIXER_USAGE_DELAY", + name: "MIXER_USAGE_DELAY", call: "MISTTRACK_ADDRESS_RISK_SCORE", - threshold: (data: MisttrackRiskScoreData) => includesMixerUsage(data), + threshold: (data) => includesMixerUsage(data), }, ], action: { diff --git a/actors/deposit-screener/test/RULESET_V1.test.ts b/actors/deposit-screener/test/RULESET_V1.test.ts new file mode 100644 index 000000000..b0a1681e3 --- /dev/null +++ b/actors/deposit-screener/test/RULESET_V1.test.ts @@ -0,0 +1,248 @@ +import { expect } from "chai"; +import { ScreeningDepositRequest } from "../src"; +import { CachedApiCallData } from "../src/screening/checks/RuleSet"; +import { RULESET_V1 } from "../src/screening/checks/v1/RULESET_V1"; +import apiCallsSnapshot from "./snapshots/apiCallsSnapshot09-13-2023.json"; + +// Address contexts provided in: notion.so/nocturnelabs/Compliance-Provider-Evaluation-9ffe8bbf698f420498eba9e782e93b6d + +export const formDepositInfo = ( + spender: string, + value = 0n +): ScreeningDepositRequest => { + return { + spender, + assetAddr: "", + value, + } as const; +}; + +export const REJECT_ADDRESSES = { + ROCKETSWAP: "0x96c0876f573e27636612cf306c9db072d2b13de8", + ZUNAMI: "0x96c0876f573e27636612cf306c9db072d2b13de8", + ZUNAMI_2ND_DEGREE: "0xF00d0e11AcCe1eA37658f428d947C3FFFAeaDe70", + STEADEFI: "0xE10d4a5bd440775226C7e1858f573E379d0aca36", + EARNING_FARM: "0xee4b3dd20902Fa3539706F25005fa51D3b7bDF1b", + SUS_TC_USER: "0x5f1237bb7c14d4b4ae0026a186abc9c27a4b1224", + SWIRLEND: "0x26f6d954c4132fae4efe389b947c8cc4b4ce5ce7", + AZTEC_4: "0x8C9555D210C9019f952b0cCF57f8E65D542281F2", + TC_1: "0x86738d21db9a2ccc9747b2e374fd1a500f6eeb50", + TC_4: "0xa9b4b8108b6df063525aea9bac68b0e03b65e0c5", + TC_6: "0x698739c0F2e92446f6696578c89308A05F5BA0Fd", + TC_7: "0xadd7885af8f37df5c965e5d16caf16f807dc79a0", +} as const; + +export const APPROVE_ADDRESSES = { + VITALIK: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + BEIKO: "0x10F5d45854e038071485AC9e402308cF80D2d2fE", + TC_2: "0xEE6572fD080F791E10B48F789a9C2eF76114bA86", + TC_3: "0x3f77d1F729B439dA80264622dEACe480153e683D", + TC_5: "0x5E1B70EA7F694951ebAC269BEb2b3F4f25dD6e6a", + AZTEC_2: "0xd81A68F256985452E82297b43A465DE4F2a6Fd24", + AZTEC_1: "0x7c3171A6eabc8fc95077762ACF4B04eE1eAEF465", + AZTEC_3: "0xa0bE23dB857262c8ff29763930fCD04Cc621FcCA", +} as const; + +type ScreeningTestCaseAddresses = + | (typeof REJECT_ADDRESSES)[keyof typeof REJECT_ADDRESSES] + | (typeof APPROVE_ADDRESSES)[keyof typeof APPROVE_ADDRESSES]; + +const MOCK_API_CALLS = apiCallsSnapshot as Record< + ScreeningTestCaseAddresses, + CachedApiCallData +>; + +describe("RULESET_V1", () => { + describe("Rejections", () => { + it("should reject RocketSwap exploiter", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.ROCKETSWAP), + MOCK_API_CALLS[REJECT_ADDRESSES.ROCKETSWAP] + ); + expect(result.type).to.equal("Rejection"); + }); + + it("should reject Zunami exploiter", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.ZUNAMI), + MOCK_API_CALLS[REJECT_ADDRESSES.ZUNAMI] + ); + expect(result.type).to.equal("Rejection"); + }); + + it("should reject Zunami 2nd Degree exploiter", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.ZUNAMI_2ND_DEGREE), + MOCK_API_CALLS[REJECT_ADDRESSES.ZUNAMI_2ND_DEGREE] + ); + expect(result.type).to.equal("Rejection"); + }); + + it("should reject Steadefi exploiter", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.STEADEFI), + MOCK_API_CALLS[REJECT_ADDRESSES.STEADEFI] + ); + expect(result.type).to.equal("Rejection"); + }); + + it("should reject Earning.Farm exploiter", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.EARNING_FARM), + MOCK_API_CALLS[REJECT_ADDRESSES.EARNING_FARM] + ); + expect(result.type).to.equal("Rejection"); + }); + + it("should reject suspicious TC user", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.SUS_TC_USER), + MOCK_API_CALLS[REJECT_ADDRESSES.SUS_TC_USER] + ); + expect(result.type).to.equal("Rejection"); + }); + + it("should reject Swirlend exploiter", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.SWIRLEND), + MOCK_API_CALLS[REJECT_ADDRESSES.SWIRLEND] + ); + expect(result.type).to.equal("Rejection"); + }); + + it("should reject Aztec user 4 due to TRM_HIGH_INDIRECT_REJECT", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.AZTEC_4), + MOCK_API_CALLS[REJECT_ADDRESSES.AZTEC_4] + ); + expect(result).to.deep.equal({ + type: "Rejection", + reason: "Indirect exposure to high risk categories > $20k", + }); + }); + + it("should reject TC user 1 due to MISTTRACK_RISK_REJECT", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.TC_1), + MOCK_API_CALLS[REJECT_ADDRESSES.TC_1] + ); + expect(result).to.deep.equal({ + type: "Rejection", + reason: "Score > 80 AND phishing/theft has > 0 attributions", + }); + }); + + it("should reject TC user 4 due to MISTTRACK_RISK_REJECT", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.TC_4), + MOCK_API_CALLS[REJECT_ADDRESSES.TC_4] + ); + expect(result).to.deep.equal({ + type: "Rejection", + reason: "Score > 80 AND phishing/theft has > 0 attributions", + }); + }); + + it("should reject TC user 6 due to MISTTRACK_RISK_REJECT", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.TC_6), + MOCK_API_CALLS[REJECT_ADDRESSES.TC_6] + ); + expect(result).to.deep.equal({ + type: "Rejection", + reason: "Score > 80 AND phishing/theft has > 0 attributions", + }); + }); + it("should reject TC user 7 due to MISTTRACK_RISK_REJECT", async () => { + const result = await RULESET_V1.check( + formDepositInfo(REJECT_ADDRESSES.TC_7), + MOCK_API_CALLS[REJECT_ADDRESSES.TC_7] + ); + expect(result).to.deep.equal({ + type: "Rejection", + reason: "Score > 80 AND phishing/theft has > 0 attributions", + }); + }); + }); + + describe("Approvals", () => { + it("should approve Vitalik", async () => { + const result = await RULESET_V1.check( + formDepositInfo(APPROVE_ADDRESSES.VITALIK), + MOCK_API_CALLS[APPROVE_ADDRESSES.VITALIK] + ); + expect(result.type).to.equal("Delay"); + }); + + it("should approve Beiko", async () => { + const result = await RULESET_V1.check( + formDepositInfo(APPROVE_ADDRESSES.BEIKO), + MOCK_API_CALLS[APPROVE_ADDRESSES.BEIKO] + ); + expect(result.type).to.equal("Delay"); + }); + it("should approve TC user 2", async () => { + const result = await RULESET_V1.check( + formDepositInfo(APPROVE_ADDRESSES.TC_2), + MOCK_API_CALLS[APPROVE_ADDRESSES.TC_2] + ); + expect(result).to.deep.equal({ + type: "Delay", + timeSeconds: 21600, + }); + }); + it("should approve TC user 3", async () => { + const result = await RULESET_V1.check( + formDepositInfo(APPROVE_ADDRESSES.TC_3), + MOCK_API_CALLS[APPROVE_ADDRESSES.TC_3] + ); + expect(result).to.deep.equal({ + type: "Delay", + timeSeconds: 21600, + }); + }); + + it("should approve TC user 5", async () => { + const result = await RULESET_V1.check( + formDepositInfo(APPROVE_ADDRESSES.TC_5), + MOCK_API_CALLS[APPROVE_ADDRESSES.TC_5] + ); + expect(result).to.deep.equal({ + type: "Delay", + timeSeconds: 21600, + }); + }); + it("should approve Aztec user 1", async () => { + const result = await RULESET_V1.check( + formDepositInfo(APPROVE_ADDRESSES.AZTEC_1), + MOCK_API_CALLS[APPROVE_ADDRESSES.AZTEC_1] + ); + expect(result).to.deep.equal({ + timeSeconds: 21600, + type: "Delay", + }); + }); + + it("should approve Aztec user 2", async () => { + const result = await RULESET_V1.check( + formDepositInfo(APPROVE_ADDRESSES.AZTEC_2), + MOCK_API_CALLS[APPROVE_ADDRESSES.AZTEC_2] + ); + expect(result).to.deep.equal({ + type: "Delay", + timeSeconds: 7200, + }); + }); + + it("should approve Aztec user 3", async () => { + const result = await RULESET_V1.check( + formDepositInfo(APPROVE_ADDRESSES.AZTEC_3), + MOCK_API_CALLS[APPROVE_ADDRESSES.AZTEC_3] + ); + expect(result).to.deep.equal({ + timeSeconds: 7200, + type: "Delay", + }); + }); + }); +}); diff --git a/actors/deposit-screener/test/RuleSet.test.ts b/actors/deposit-screener/test/RuleSet.test.ts new file mode 100644 index 000000000..00c0c75f1 --- /dev/null +++ b/actors/deposit-screener/test/RuleSet.test.ts @@ -0,0 +1,114 @@ +import { ScreeningDepositRequest } from "../src"; +import { + CombinedRulesParams, + RuleParams, + RuleSet, +} from "../src/screening/checks/RuleSet"; +import { expect } from "chai"; + +const DELAY_50_ALWAYS: RuleParams<"IDENTITY"> = { + name: "DELAY_50_ALWAYS", + call: "IDENTITY", + threshold: () => true, + action: { type: "Delay", operation: "Add", valueSeconds: 50 }, +}; + +const REJECT_ALWAYS: RuleParams<"IDENTITY"> = { + name: "REJECT_ALWAYS", + call: "IDENTITY", + threshold: () => true, + action: { + type: "Rejection", + reason: "If included, this should make the deposit always reject", + }, +}; + +const DELAY_10000000_NEVER: RuleParams<"IDENTITY"> = { + name: "DELAY_10000000_NEVER", + call: "IDENTITY", + threshold: () => false, + action: { type: "Delay", operation: "Add", valueSeconds: 10000000 }, +}; + +const COMBINED_RULE_ANY: CombinedRulesParams< + ["IDENTITY", "IDENTITY", "IDENTITY"] +> = { + partialRules: [ + { + name: "NEVER_TRUE", + call: "IDENTITY", + threshold: () => false, + }, + { + name: "ALWAYS_TRUE", + call: "IDENTITY", + threshold: () => true, + }, + { + name: "SOMETIMES_TRUE", + call: "IDENTITY", + threshold: () => Math.random() > 0.5, + }, + ], + action: { + type: "Delay", + operation: "Add", + valueSeconds: 50, + }, + applyIf: "Any", +} as const; + +const COMBINED_RULE_ALL = { + ...COMBINED_RULE_ANY, + applyIf: "All", +} as const; + +const DUMMY_DEPOSIT_REQUEST: ScreeningDepositRequest = { + spender: "", + assetAddr: "", + value: 0n, +} as const; + +describe("RuleSet", () => { + it("should return a delay of 300 seconds", async () => { + const DUMMY_RULESET = new RuleSet() + .add(DELAY_50_ALWAYS) + .add(DELAY_10000000_NEVER); + const result = await DUMMY_RULESET.check(DUMMY_DEPOSIT_REQUEST); + expect(result).to.deep.equal({ + type: "Delay", + timeSeconds: 50, + }); + }); + + it("should return a rejection", async () => { + const DUMMY_RULESET = new RuleSet() + .add(DELAY_50_ALWAYS) + .add(REJECT_ALWAYS) + .add(DELAY_10000000_NEVER); + + const result = await DUMMY_RULESET.check(DUMMY_DEPOSIT_REQUEST); + expect(result).to.deep.equal(REJECT_ALWAYS.action); + }); + + it("should take a combined rule requiring *any* to be true, and return a delay of 50", async () => { + const DUMMY_RULESET = new RuleSet().combineAndAdd(COMBINED_RULE_ANY); + + const result = await DUMMY_RULESET.check(DUMMY_DEPOSIT_REQUEST); + expect(result).to.deep.equal({ + type: "Delay", + timeSeconds: 50, + }); + }); + + it("should take a combined rule requiring *all* to be true, and not apply the action", async () => { + console.log("COMBINED_RULE_ALL", COMBINED_RULE_ALL); + const DUMMY_RULESET = new RuleSet().combineAndAdd(COMBINED_RULE_ALL); + + const result = await DUMMY_RULESET.check(DUMMY_DEPOSIT_REQUEST); + expect(result).to.deep.equal({ + type: "Delay", + timeSeconds: 0, + }); + }); +}); diff --git a/actors/deposit-screener/test/snapshots/apiCallsSnapshot09-13-2023.json b/actors/deposit-screener/test/snapshots/apiCallsSnapshot09-13-2023.json new file mode 100644 index 000000000..601bd9f17 --- /dev/null +++ b/actors/deposit-screener/test/snapshots/apiCallsSnapshot09-13-2023.json @@ -0,0 +1,3433 @@ +{ + "0x96c0876f573e27636612cf306c9db072d2b13de8": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x96c0876f573e27636612cf306c9db072d2b13de8", + "addressIncomingVolumeUsd": "1340791.4804450497794298345400355532968473269", + "addressOutgoingVolumeUsd": "1288174.7221221546287537765979047676978554026", + "addressRiskIndicators": [ + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 15, + "categoryRiskScoreLevelLabel": "Severe", + "incomingVolumeUsd": "1340791.4804450497794298345400355532968473269", + "outgoingVolumeUsd": "1288174.7221221546287537765979047676978554026", + "riskType": "OWNERSHIP", + "totalVolumeUsd": "2628966.2025672044081836111379403209947027295" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1340791.4804450497794298345400355532968473269", + "outgoingVolumeUsd": "1288174.7221221546287537765979047676978554026", + "riskType": "OWNERSHIP", + "totalVolumeUsd": "2628966.2025672044081836111379403209947027295" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "471103.28435042447669062514548008582736656272", + "outgoingVolumeUsd": "825286.09715234091788019742119697497173558861", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1296389.38150276539457082256667706079910215133" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "460666.5", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "460666.5" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "22.83516354430371491569806696730893235648", + "outgoingVolumeUsd": "460666.5", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "460689.33516354430371491569806696730893235648" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "22.835163544", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "22.835163544" + } + ], + "addressSubmitted": "0x96c0876f573e27636612cf306c9db072d2b13de8", + "addressTotalVolumeUsd": "2628966.2025672044081836111379403209947027295", + "chain": "ethereum", + "entities": [ + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "confidenceScoreLabel": "Moderate Confidence", + "entity": "Rocket Swap Exploiter Aug 2023", + "riskScoreLevel": 15, + "riskScoreLevelLabel": "Severe", + "trmAppUrl": "https://my.trmlabs.com/entities/trm/3253fc94-bcee-4d78-9691-b3db86e2a4f4", + "trmUrn": "/entity/manual/3253fc94-bcee-4d78-9691-b3db86e2a4f4" + } + ], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x96c0876f573e27636612cf306c9db072d2b13de8/eth" + } + }, + "0x96c0876f573e27636612cf306c9db072d2b13de8": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x96c0876f573e27636612cf306c9db072d2b13de8", + "addressIncomingVolumeUsd": "1340791.4804450497794298345400355532968473269", + "addressOutgoingVolumeUsd": "1288174.7221221546287537765979047676978554026", + "addressRiskIndicators": [ + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 15, + "categoryRiskScoreLevelLabel": "Severe", + "incomingVolumeUsd": "1340791.4804450497794298345400355532968473269", + "outgoingVolumeUsd": "1288174.7221221546287537765979047676978554026", + "riskType": "OWNERSHIP", + "totalVolumeUsd": "2628966.2025672044081836111379403209947027295" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1340791.4804450497794298345400355532968473269", + "outgoingVolumeUsd": "1288174.7221221546287537765979047676978554026", + "riskType": "OWNERSHIP", + "totalVolumeUsd": "2628966.2025672044081836111379403209947027295" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "471103.28435042447669062514548008582736656272", + "outgoingVolumeUsd": "825286.09715234091788019742119697497173558861", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1296389.38150276539457082256667706079910215133" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "460666.5", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "460666.5" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "22.83516354430371491569806696730893235648", + "outgoingVolumeUsd": "460666.5", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "460689.33516354430371491569806696730893235648" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "22.835163544", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "22.835163544" + } + ], + "addressSubmitted": "0x96c0876f573e27636612cf306c9db072d2b13de8", + "addressTotalVolumeUsd": "2628966.2025672044081836111379403209947027295", + "chain": "ethereum", + "entities": [ + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "confidenceScoreLabel": "Moderate Confidence", + "entity": "Rocket Swap Exploiter Aug 2023", + "riskScoreLevel": 15, + "riskScoreLevelLabel": "Severe", + "trmAppUrl": "https://my.trmlabs.com/entities/trm/3253fc94-bcee-4d78-9691-b3db86e2a4f4", + "trmUrn": "/entity/manual/3253fc94-bcee-4d78-9691-b3db86e2a4f4" + } + ], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x96c0876f573e27636612cf306c9db072d2b13de8/eth" + } + }, + "0xF00d0e11AcCe1eA37658f428d947C3FFFAeaDe70": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xf00d0e11acce1ea37658f428d947c3fffaeade70", + "addressIncomingVolumeUsd": "14922882.66271487297887692598735236843010557683", + "addressOutgoingVolumeUsd": "14793825.4923133396838058381984182948487566164", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "8843146.69206568919173013889794376235498030945", + "outgoingVolumeUsd": "9050882.78943716998180702150429673136233757285", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "17894029.48150285917353716040224049371731788230" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1264.57110358462378731794888153672218322754", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1264.57110358462378731794888153672218322754" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "189.14663515095012580721277117845602333546", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "189.14663515095012580721277117845602333546" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "6751.41898553549382984328985912725329399109", + "outgoingVolumeUsd": "8709.96061081110910866256991091916006553185", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "15461.37959634660293850585977004641335952294" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "9663.83069238436931830308476376600879122742", + "outgoingVolumeUsd": "22630.18095470681652060627330680375735027494", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "32294.01164709118583890935807056976614150236" + }, + { + "category": "Adult Content", + "categoryId": "2", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "198.74563982", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "198.74563982" + }, + { + "category": "Decentralized File Sharing Service", + "categoryId": "4", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "157.008632781", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "157.008632781" + }, + { + "category": "High-Risk dApp", + "categoryId": "5", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "343.648", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "343.648" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "50150", + "outgoingVolumeUsd": "51090.882422654", + "riskType": "INDIRECT", + "totalVolumeUsd": "101240.882422654" + }, + { + "category": "P2P Crypto Marketplace", + "categoryId": "7", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "5005", + "outgoingVolumeUsd": "700.615679363", + "riskType": "INDIRECT", + "totalVolumeUsd": "5705.615679363" + }, + { + "category": "Cash-to-Crypto", + "categoryId": "9", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "6008.63614572", + "outgoingVolumeUsd": "2000.688200962", + "riskType": "INDIRECT", + "totalVolumeUsd": "8009.324346682" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "20040", + "outgoingVolumeUsd": "35498.2796168", + "riskType": "INDIRECT", + "totalVolumeUsd": "55538.2796168" + }, + { + "category": "Decentralized Marketplace", + "categoryId": "11", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "2031.810868179", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "2031.810868179" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "19525", + "outgoingVolumeUsd": "5529.15363", + "riskType": "INDIRECT", + "totalVolumeUsd": "25054.15363" + }, + { + "category": "Lending Service", + "categoryId": "16", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "27027", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "27027" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "10402.599012", + "outgoingVolumeUsd": "7092.566710104", + "riskType": "INDIRECT", + "totalVolumeUsd": "17495.165722104" + }, + { + "category": "Decentralized Gambling Service", + "categoryId": "25", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "483.110522155", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "483.110522155" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "8214.50267699", + "outgoingVolumeUsd": "1270.707726808", + "riskType": "INDIRECT", + "totalVolumeUsd": "9485.210403798" + }, + { + "category": "Known Hacker Group", + "categoryId": "35", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "110.066502", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "110.066502" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Vendor", + "categoryId": "38", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "83.0284", + "outgoingVolumeUsd": "115.298777144", + "riskType": "INDIRECT", + "totalVolumeUsd": "198.327177144" + }, + { + "category": "Violent Extremism", + "categoryId": "42", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "305.3591", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "305.3591" + }, + { + "category": "Cybercrime Services", + "categoryId": "45", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "898.333061115", + "riskType": "INDIRECT", + "totalVolumeUsd": "898.333061115" + }, + { + "category": "Banned or Controlled Substances", + "categoryId": "47", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "278.272785", + "outgoingVolumeUsd": "195.09541195", + "riskType": "INDIRECT", + "totalVolumeUsd": "473.36819695" + }, + { + "category": "Investment Scheme", + "categoryId": "55", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "2388", + "outgoingVolumeUsd": "180.015365466", + "riskType": "INDIRECT", + "totalVolumeUsd": "2568.015365466" + }, + { + "category": "Decentralized Investment Scheme", + "categoryId": "56", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "43164.448733094", + "outgoingVolumeUsd": "10.0186", + "riskType": "INDIRECT", + "totalVolumeUsd": "43174.467333094" + }, + { + "category": "Malware", + "categoryId": "57", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "509.1607", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "509.1607" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "2647.016490906", + "outgoingVolumeUsd": "2734.438197474", + "riskType": "INDIRECT", + "totalVolumeUsd": "5381.454688380" + }, + { + "category": "ICO Scam", + "categoryId": "64", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "1384.028691045", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "1384.028691045" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "4004", + "outgoingVolumeUsd": "9506.013138622", + "riskType": "INDIRECT", + "totalVolumeUsd": "13510.013138622" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "19771.648", + "outgoingVolumeUsd": "10376.997538225", + "riskType": "INDIRECT", + "totalVolumeUsd": "30148.645538225" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "22647.74325", + "outgoingVolumeUsd": "1989.845212", + "riskType": "INDIRECT", + "totalVolumeUsd": "24637.588462" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Scam", + "categoryId": "628", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "336.81949875", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "336.81949875" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "16032", + "outgoingVolumeUsd": "12013.047315418", + "riskType": "INDIRECT", + "totalVolumeUsd": "28045.047315418" + } + ], + "addressSubmitted": "0xF00d0e11AcCe1eA37658f428d947C3FFFAeaDe70", + "addressTotalVolumeUsd": "29716708.15502821266268276418577066327886219323", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xf00d0e11acce1ea37658f428d947c3fffaeade70/eth" + } + }, + "0xE10d4a5bd440775226C7e1858f573E379d0aca36": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xe10d4a5bd440775226c7e1858f573e379d0aca36", + "addressIncomingVolumeUsd": "1151857.86804070003812284994637593626976012319", + "addressOutgoingVolumeUsd": "1112232.03307661095246637289468694120841974841", + "addressRiskIndicators": [ + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 15, + "categoryRiskScoreLevelLabel": "Severe", + "incomingVolumeUsd": "1151857.86804070003812284994637593626976012319", + "outgoingVolumeUsd": "1112232.03307661095246637289468694120841974841", + "riskType": "OWNERSHIP", + "totalVolumeUsd": "2264089.90111731099058922284106287747817987160" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1151857.86804070003812284994637593626976012319", + "outgoingVolumeUsd": "1112232.03307661095246637289468694120841974841", + "riskType": "OWNERSHIP", + "totalVolumeUsd": "2264089.90111731099058922284106287747817987160" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1151857.86804070003812284994637593626976012319", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1151857.86804070003812284994637593626976012319" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "1112040.79900000000002756012085214365470165835", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1112040.79900000000002756012085214365470165835" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1151857.86804070003812284994637593626976012319", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1151857.86804070003812284994637593626976012319" + } + ], + "addressSubmitted": "0xE10d4a5bd440775226C7e1858f573E379d0aca36", + "addressTotalVolumeUsd": "2264089.9011173109905892228410628774781798716", + "chain": "ethereum", + "entities": [ + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "confidenceScoreLabel": "Moderate Confidence", + "entity": "Steadefi Exploiter Aug 2023", + "riskScoreLevel": 15, + "riskScoreLevelLabel": "Severe", + "trmAppUrl": "https://my.trmlabs.com/entities/trm/39807d37-123f-42d0-96de-d9e0f3514ae0", + "trmUrn": "/entity/manual/39807d37-123f-42d0-96de-d9e0f3514ae0" + } + ], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xe10d4a5bd440775226c7e1858f573e379d0aca36/eth" + } + }, + "0xee4b3dd20902Fa3539706F25005fa51D3b7bDF1b": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xee4b3dd20902fa3539706f25005fa51d3b7bdf1b", + "addressIncomingVolumeUsd": "1096365.70544734467968836170010853880201465309", + "addressOutgoingVolumeUsd": "1093372.54599635133598776961913855967577547124", + "addressRiskIndicators": [ + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 15, + "categoryRiskScoreLevelLabel": "Severe", + "incomingVolumeUsd": "1096365.70544734467968836170010853880201465309", + "outgoingVolumeUsd": "1093372.54599635133598776961913855967577547124", + "riskType": "OWNERSHIP", + "totalVolumeUsd": "2189738.25144369601567613131924709847779012433" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "543119.38706737038880419277120381593704223923", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "543119.38706737038880419277120381593704223923" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "18608.63725596360066", + "outgoingVolumeUsd": "9344.1", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "27952.73725596360066" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "288475.269246202", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "288475.269246202" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "120160.46892", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "120160.46892" + } + ], + "addressSubmitted": "0xee4b3dd20902Fa3539706F25005fa51D3b7bDF1b", + "addressTotalVolumeUsd": "2189738.25144369601567613131924709847779012433", + "chain": "ethereum", + "entities": [ + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "confidenceScoreLabel": "Moderate Confidence", + "entity": "Earning Farm Exploiter Aug 2023", + "riskScoreLevel": 15, + "riskScoreLevelLabel": "Severe", + "trmAppUrl": "https://my.trmlabs.com/entities/trm/3e71f23e-1693-486f-a536-f33595dd8118", + "trmUrn": "/entity/manual/3e71f23e-1693-486f-a536-f33595dd8118" + } + ], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xee4b3dd20902fa3539706f25005fa51d3b7bdf1b/eth" + } + }, + "0x5f1237bb7c14d4b4ae0026a186abc9c27a4b1224": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x5f1237bb7c14d4b4ae0026a186abc9c27a4b1224", + "addressIncomingVolumeUsd": "3519428.03522816252041675366690753889997724231", + "addressOutgoingVolumeUsd": "3518544.55916562124194692094680814165030826079", + "addressRiskIndicators": [ + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "594.36897816240001189092012623405025805816", + "outgoingVolumeUsd": "15100.0484528960000319034416571550849539656", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "15694.41743105840004379436178338913521202376" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "3502730.39500000000000908134678567762421153321", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "3502730.39500000000000908134678567762421153321" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "503253.759967166", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "503253.759967166" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "152575.632", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "152575.632" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "27.369997382", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "27.369997382" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "162943.411480116", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "162943.411480116" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "120160.46892", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "120160.46892" + } + ], + "addressSubmitted": "0x5f1237bb7c14d4b4ae0026a186abc9c27a4b1224", + "addressTotalVolumeUsd": "7037972.5943937837623636746137156805502855031", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x5f1237bb7c14d4b4ae0026a186abc9c27a4b1224/eth" + } + }, + "0x26f6d954c4132fae4efe389b947c8cc4b4ce5ce7": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x26f6d954c4132fae4efe389b947c8cc4b4ce5ce7", + "addressIncomingVolumeUsd": "521282.28231678313544739996739546826016507492", + "addressOutgoingVolumeUsd": "520583.73775326746068422384405849356880936071", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "32651.35697284884605327236", + "outgoingVolumeUsd": "32674.20175319300116461818106472492218017578", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "65325.55872604184721789054106472492218017578" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "463546.62600000000002024469480943480448332356", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "463546.62600000000002024469480943480448332356" + } + ], + "addressSubmitted": "0x26f6d954c4132fae4efe389b947c8cc4b4ce5ce7", + "addressTotalVolumeUsd": "1041866.02007005059613162381145396182897443563", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x26f6d954c4132fae4efe389b947c8cc4b4ce5ce7/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 100, + "hacking_event": "SwirlLend Rugpull", + "detail_list": ["Malicious Address", "Involved Theft Activity"], + "risk_level": "Severe", + "risk_detail": [ + { + "label": "SwirlLend Rugpull", + "volume": 0, + "percent": 100, + "type": "malicious", + "address": "0x26f6d954c4132fae4efe389b947c8cc4b4ce5ce7" + } + ] + } + }, + "0x8C9555D210C9019f952b0cCF57f8E65D542281F2": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x8c9555d210c9019f952b0ccf57f8e65d542281f2", + "addressIncomingVolumeUsd": "1461923.25", + "addressOutgoingVolumeUsd": "1466336.13880325153530797877010627416893841346", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "77042.7", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "77042.7" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "27174", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "27174" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "73.1385", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "73.1385" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1384.2", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "1384.2" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "27261.275979832", + "riskType": "INDIRECT", + "totalVolumeUsd": "27261.275979832" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "77042.7", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "77042.7" + } + ], + "addressSubmitted": "0x8C9555D210C9019f952b0cCF57f8E65D542281F2", + "addressTotalVolumeUsd": "2928259.38880325153530797877010627416893841346", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x8c9555d210c9019f952b0ccf57f8e65d542281f2/eth" + } + }, + "0x86738d21db9a2ccc9747b2e374fd1a500f6eeb50": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x86738d21db9a2ccc9747b2e374fd1a500f6eeb50", + "addressIncomingVolumeUsd": "170469.24396461003849392312758936895988882128", + "addressOutgoingVolumeUsd": "170039.50949668829658108060165488950588042701", + "addressRiskIndicators": [ + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "169873.60800000000002370037499588306673104728", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "169873.60800000000002370037499588306673104728" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "107255.736261168", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "107255.736261168" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "8657.365116758", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "8657.365116758" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1486.835908801", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "1486.835908801" + } + ], + "addressSubmitted": "0x86738d21db9a2ccc9747b2e374fd1a500f6eeb50", + "addressTotalVolumeUsd": "340508.75346129833507500372924425846576924829", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x86738d21db9a2ccc9747b2e374fd1a500f6eeb50/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 85, + "hacking_event": "", + "detail_list": ["Suspected Malicious Address", "Involved Theft Activity"], + "risk_level": "High", + "risk_detail": [ + { + "label": "Theft", + "volume": 0, + "percent": 100, + "type": "suspected_malicious", + "address": "0x86738d21db9a2ccc9747b2e374fd1a500f6eeb50" + } + ] + } + }, + "0xa9b4b8108b6df063525aea9bac68b0e03b65e0c5": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xa9b4b8108b6df063525aea9bac68b0e03b65e0c5", + "addressIncomingVolumeUsd": "14886.98818146029434402685803943211082446921", + "addressOutgoingVolumeUsd": "11951.09276474671058567179285841170096296214", + "addressRiskIndicators": [ + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "25.03966674318077397841039721804179407959", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "25.03966674318077397841039721804179407959" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "42.08856217062190181121827947663405212354", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "42.08856217062190181121827947663405212354" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "378.5727647834999766554564537557325820747", + "outgoingVolumeUsd": "10.03300897656171160666691011265072574405", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "388.60577376006168826212336386838330781875" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "2407.85073261676762845229227139043359783807", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "2407.85073261676762845229227139043359783807" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "1071.96", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1071.96" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "5720.04978736245957293804487164834426948435", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "5720.04978736245957293804487164834426948435" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1508.724565863", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "1508.724565863" + }, + { + "category": "P2P Crypto Marketplace", + "categoryId": "7", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "397.67616", + "outgoingVolumeUsd": "20.007801972", + "riskType": "INDIRECT", + "totalVolumeUsd": "417.683961972" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "1002.555960325", + "outgoingVolumeUsd": "220.497285665", + "riskType": "INDIRECT", + "totalVolumeUsd": "1223.053245990" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1508.724565863", + "outgoingVolumeUsd": "20.007801972", + "riskType": "INDIRECT", + "totalVolumeUsd": "1528.732367835" + }, + { + "category": "Lending Service", + "categoryId": "16", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "510.299179576", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "510.299179576" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1002.555960325", + "outgoingVolumeUsd": "20.007801972", + "riskType": "INDIRECT", + "totalVolumeUsd": "1022.563762297" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "2008.572539332", + "outgoingVolumeUsd": "20.007801972", + "riskType": "INDIRECT", + "totalVolumeUsd": "2028.580341304" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Vendor", + "categoryId": "38", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "241.1", + "outgoingVolumeUsd": "19.243624294", + "riskType": "INDIRECT", + "totalVolumeUsd": "260.343624294" + }, + { + "category": "Cybercrime Services", + "categoryId": "45", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "20.007801972", + "riskType": "INDIRECT", + "totalVolumeUsd": "20.007801972" + }, + { + "category": "Investment Scheme", + "categoryId": "55", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "10.265240127", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "10.265240127" + }, + { + "category": "Decentralized Investment Scheme", + "categoryId": "56", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "89.367", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "89.367" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "1002.555960325", + "outgoingVolumeUsd": "2.021695068", + "riskType": "INDIRECT", + "totalVolumeUsd": "1004.577655393" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "510.299179576", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "510.299179576" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1002.555960325", + "outgoingVolumeUsd": "5.001942669", + "riskType": "INDIRECT", + "totalVolumeUsd": "1007.557902994" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Scam", + "categoryId": "628", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "20.007801972", + "riskType": "INDIRECT", + "totalVolumeUsd": "20.007801972" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "2008.572539332", + "outgoingVolumeUsd": "48.4019979", + "riskType": "INDIRECT", + "totalVolumeUsd": "2056.974537232" + } + ], + "addressSubmitted": "0xa9b4b8108b6df063525aea9bac68b0e03b65e0c5", + "addressTotalVolumeUsd": "26838.08094620700492969865089784381178743135", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xa9b4b8108b6df063525aea9bac68b0e03b65e0c5/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 84, + "hacking_event": "", + "detail_list": [ + "Interact With Malicious Address", + "Interact With Suspected Malicious Address", + "Interact With High-risk Tag Address", + "Interact With Medium-risk Tag Addresses" + ], + "risk_level": "High", + "risk_detail": [ + { + "label": "changenow", + "type": "high_risk", + "volume": 14.525, + "address": "0xc92d5cc4a7d9e202bf7cc12814856464a11bef98", + "percent": 0.063 + }, + { + "label": "fixedfloat", + "type": "high_risk", + "volume": 21.321, + "address": "0x9c387577da3ce7434dabe30f3ae579cce7c7da37", + "percent": 0.092 + }, + { + "label": "Stake.com", + "type": "medium_risk", + "volume": 317.837, + "address": "0x974caa59e49682cda0ad2bbe82983419a2ecc400", + "percent": 1.37 + }, + { + "label": "USDT Banned Address", + "type": "malicious", + "volume": 5.268, + "address": "0x4de23f3f0fb3318287378adbde030cf61714b2f3", + "percent": 0.023 + }, + { + "label": "changenow", + "type": "high_risk", + "volume": 25.068, + "address": "0x221a78acb0670e7d8d1017f475de4176daff36eb", + "percent": 0.108 + }, + { + "label": "Phishing", + "type": "suspected_malicious", + "volume": 25.538, + "address": "0xd8f9efc24066b4e28688d234a28154685892691d", + "percent": 0.11 + }, + { + "label": "stake.com", + "type": "medium_risk", + "volume": 10.269, + "address": "0xca75e5da37e3e152e2e52d9ef188f5a6225672a7", + "percent": 0.044 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 1598.24, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 6.888 + }, + { + "label": "Tornado.Cash: Router", + "type": "high_risk", + "volume": 1598.24, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 6.888 + }, + { + "label": "hitbtc", + "type": "medium_risk", + "volume": 112.772, + "address": "0x32594a58fc29ad1d4a24df08a67a45771faff092", + "percent": 0.486 + }, + { + "label": "NFT Scam", + "type": "malicious", + "volume": 1955.378, + "address": "0xe434ef8f760f03554a9ed8a5c91d031011d768d8", + "percent": 8.427 + }, + { + "label": "stake.com", + "type": "medium_risk", + "volume": 160.846, + "address": "0x9e0eaa8db4c1dc14cce21bb086f170d4ad99f797", + "percent": 0.693 + }, + { + "label": "Phishing", + "type": "suspected_malicious", + "volume": 2677.087, + "address": "0x8814b39b23f68c6c57bda5ef1eea876588ff2378", + "percent": 11.538 + }, + { + "label": "NFT Scam", + "type": "malicious", + "volume": 398.707, + "address": "0x6b24a3135cea65fa25a5c8ab67c413c74e5eb50c", + "percent": 1.718 + } + ] + } + }, + "0x698739c0F2e92446f6696578c89308A05F5BA0Fd": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x698739c0f2e92446f6696578c89308a05f5ba0fd", + "addressIncomingVolumeUsd": "65233.77837191251651792042502483159579242531", + "addressOutgoingVolumeUsd": "63110.45441825017691773735961646707437465885", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "32488.85620893847836957286", + "outgoingVolumeUsd": "32047.77206347200152026744035538285970687863", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "64536.62827241047988984030035538285970687863" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "300.63228160000000613871762311646307353455", + "outgoingVolumeUsd": "800.80775978000002123247114127480017486464", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1101.44004138000002737118876439126324839919" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "31201.1", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "31201.1" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "235.744139418", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "235.744139418" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "404.026751722", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "404.026751722" + } + ], + "addressSubmitted": "0x698739c0F2e92446f6696578c89308A05F5BA0Fd", + "addressTotalVolumeUsd": "128344.23279016269343565778464129867016708416", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x698739c0f2e92446f6696578c89308a05f5ba0fd/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 100, + "hacking_event": "", + "detail_list": ["Malicious Address", "Involved Theft Activity"], + "risk_level": "Severe", + "risk_detail": [ + { + "label": "Theft", + "volume": 0, + "percent": 100, + "type": "malicious", + "address": "0x698739c0F2e92446f6696578c89308A05F5BA0Fd" + } + ] + } + }, + "0xadd7885af8f37df5c965e5d16caf16f807dc79a0": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xadd7885af8f37df5c965e5d16caf16f807dc79a0", + "addressIncomingVolumeUsd": "56220.85531470162121013681239488444379975079", + "addressOutgoingVolumeUsd": "55521.04042935581605479352194087994121219204", + "addressRiskIndicators": [ + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "3074.01", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "3074.01" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "11866.69", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "11866.69" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "617.16094928546572256966573633008010802192", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "617.16094928546572256966573633008010802192" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "536.6360564", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "536.6360564" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "14.425554549", + "outgoingVolumeUsd": "621.948270779", + "riskType": "INDIRECT", + "totalVolumeUsd": "636.373825328" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "73.1416", + "outgoingVolumeUsd": "301.063411801", + "riskType": "INDIRECT", + "totalVolumeUsd": "374.205011801" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "288.28711875", + "outgoingVolumeUsd": "301.063411801", + "riskType": "INDIRECT", + "totalVolumeUsd": "589.350530551" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "41.272170407", + "outgoingVolumeUsd": "100.394498003", + "riskType": "INDIRECT", + "totalVolumeUsd": "141.666668410" + }, + { + "category": "Known Hacker Group", + "categoryId": "35", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "9.971975479", + "riskType": "INDIRECT", + "totalVolumeUsd": "9.971975479" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Vendor", + "categoryId": "38", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "30.113050062", + "riskType": "INDIRECT", + "totalVolumeUsd": "30.113050062" + }, + { + "category": "Cybercrime Services", + "categoryId": "45", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "200.237514691", + "riskType": "INDIRECT", + "totalVolumeUsd": "200.237514691" + }, + { + "category": "Decentralized Investment Scheme", + "categoryId": "56", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "421.070575926", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "421.070575926" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "251.50844963", + "riskType": "INDIRECT", + "totalVolumeUsd": "251.50844963" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "15654.7", + "riskType": "INDIRECT", + "totalVolumeUsd": "15654.7" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1059.60932", + "outgoingVolumeUsd": "5.001942669", + "riskType": "INDIRECT", + "totalVolumeUsd": "1064.611262669" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Scam", + "categoryId": "628", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "4.80857311", + "riskType": "INDIRECT", + "totalVolumeUsd": "4.80857311" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "41.272170407", + "outgoingVolumeUsd": "301.063411801", + "riskType": "INDIRECT", + "totalVolumeUsd": "342.335582208" + } + ], + "addressSubmitted": "0xadd7885af8f37df5c965e5d16caf16f807dc79a0", + "addressTotalVolumeUsd": "111741.89574405743726493033433576438501194283", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xadd7885af8f37df5c965e5d16caf16f807dc79a0/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 100, + "hacking_event": "", + "detail_list": ["Malicious Address", "Involved Phishing Activity"], + "risk_level": "Severe", + "risk_detail": [ + { + "label": "Phishing", + "volume": 0, + "percent": 100, + "type": "malicious", + "address": "0xadd7885af8f37df5c965e5d16caf16f807dc79a0" + } + ] + } + }, + "0xd8da6bf26964af9d7eed9e03e53415d37aa96045": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + "addressIncomingVolumeUsd": "90331530.41818363817090399941281533070114661563", + "addressOutgoingVolumeUsd": "73894353.2821083820378614610794820558482888388", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "6196599.70472092839097727173490016223797283602", + "outgoingVolumeUsd": "7372759.91817824084011211767546306594667272221", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "13569359.62289916923108938941036322818464555823" + }, + { + "category": "P2P Crypto Marketplace", + "categoryId": "7", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Cash-to-Crypto", + "categoryId": "9", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Decentralized Marketplace", + "categoryId": "11", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "12.181817617", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "12.181817617" + }, + { + "category": "Lending Service", + "categoryId": "16", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Investment Scheme", + "categoryId": "55", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Decentralized Investment Scheme", + "categoryId": "56", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "46549013.86699039642624098707443077252854538532", + "outgoingVolumeUsd": "5518351.07047579796043141858866104554337539422", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "52067364.93746619438667240566309181807192077954" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "24712.99216515464301068380882497876882553076", + "outgoingVolumeUsd": "4935605.34", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "4960318.33216515464301068380882497876882553076" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Investment Fraud", + "categoryId": "629", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Decentralized Investment Fraud", + "categoryId": "630", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "129.88403406575702328669315334961403695934", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "129.88403406575702328669315334961403695934" + }, + { + "category": "Adult Content", + "categoryId": "2", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "10.01", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "10.01" + }, + { + "category": "Decentralized File Sharing Service", + "categoryId": "4", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "11.0954", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "11.0954" + }, + { + "category": "High-Risk dApp", + "categoryId": "5", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "1.47519", + "outgoingVolumeUsd": "345.552", + "riskType": "INDIRECT", + "totalVolumeUsd": "347.02719" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1819.690313115", + "outgoingVolumeUsd": "2135240", + "riskType": "INDIRECT", + "totalVolumeUsd": "2137059.690313115" + }, + { + "category": "P2P Crypto Marketplace", + "categoryId": "7", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "10.01", + "outgoingVolumeUsd": "13521.502", + "riskType": "INDIRECT", + "totalVolumeUsd": "13531.512" + }, + { + "category": "Cash-to-Crypto", + "categoryId": "9", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "4.333348292", + "outgoingVolumeUsd": "7114.2", + "riskType": "INDIRECT", + "totalVolumeUsd": "7118.533348292" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "89.436933768", + "outgoingVolumeUsd": "62746.85", + "riskType": "INDIRECT", + "totalVolumeUsd": "62836.286933768" + }, + { + "category": "Decentralized Marketplace", + "categoryId": "11", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "10.01", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "10.01" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "220.86934108", + "outgoingVolumeUsd": "3813.383169732", + "riskType": "INDIRECT", + "totalVolumeUsd": "4034.252510812" + }, + { + "category": "Lending Service", + "categoryId": "16", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "216.269599201", + "outgoingVolumeUsd": "12688.266540693", + "riskType": "INDIRECT", + "totalVolumeUsd": "12904.536139894" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "32.3619", + "outgoingVolumeUsd": "422.847135435", + "riskType": "INDIRECT", + "totalVolumeUsd": "455.209035435" + }, + { + "category": "Decentralized Gambling Service", + "categoryId": "25", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "30.698", + "outgoingVolumeUsd": "422.847135435", + "riskType": "INDIRECT", + "totalVolumeUsd": "453.545135435" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "30.698", + "outgoingVolumeUsd": "3841.1", + "riskType": "INDIRECT", + "totalVolumeUsd": "3871.798" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Vendor", + "categoryId": "38", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "29.157084", + "riskType": "INDIRECT", + "totalVolumeUsd": "29.157084" + }, + { + "category": "Violent Extremism", + "categoryId": "42", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "1.16685", + "outgoingVolumeUsd": "76.143944585", + "riskType": "INDIRECT", + "totalVolumeUsd": "77.310794585" + }, + { + "category": "Cybercrime Services", + "categoryId": "45", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "21.93048", + "riskType": "INDIRECT", + "totalVolumeUsd": "21.93048" + }, + { + "category": "Banned or Controlled Substances", + "categoryId": "47", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "29.157084", + "riskType": "INDIRECT", + "totalVolumeUsd": "29.157084" + }, + { + "category": "Investment Scheme", + "categoryId": "55", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "11.5487", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "11.5487" + }, + { + "category": "Decentralized Investment Scheme", + "categoryId": "56", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "13.470949045", + "outgoingVolumeUsd": "18612.5104", + "riskType": "INDIRECT", + "totalVolumeUsd": "18625.981349045" + }, + { + "category": "Malware", + "categoryId": "57", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "30.698", + "outgoingVolumeUsd": "45", + "riskType": "INDIRECT", + "totalVolumeUsd": "75.698" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "30.698", + "outgoingVolumeUsd": "996.522027799", + "riskType": "INDIRECT", + "totalVolumeUsd": "1027.220027799" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "17079350", + "outgoingVolumeUsd": "2135240", + "riskType": "INDIRECT", + "totalVolumeUsd": "19214590" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "133.427183587", + "outgoingVolumeUsd": "18383", + "riskType": "INDIRECT", + "totalVolumeUsd": "18516.427183587" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1819.690313115", + "outgoingVolumeUsd": "12.64925", + "riskType": "INDIRECT", + "totalVolumeUsd": "1832.339563115" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Scam", + "categoryId": "628", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "14.0880031", + "riskType": "INDIRECT", + "totalVolumeUsd": "14.0880031" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "30.698", + "outgoingVolumeUsd": "84352.6732", + "riskType": "INDIRECT", + "totalVolumeUsd": "84383.3712" + } + ], + "addressSubmitted": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + "addressTotalVolumeUsd": "164225883.70029202020876546049229738654943545443", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xd8da6bf26964af9d7eed9e03e53415d37aa96045/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 52, + "hacking_event": "", + "detail_list": [ + "Interact With Malicious Address", + "Interact With High-risk Tag Address", + "Interact With Medium-risk Tag Addresses" + ], + "risk_level": "Moderate", + "risk_detail": [ + { + "label": "Phishing", + "type": "suspected_malicious", + "volume": 15.982, + "address": "0x009515efabccdbafa485f3919d94c85ff23ba75d", + "percent": 0 + }, + { + "label": "changenow", + "type": "high_risk", + "volume": 5.83, + "address": "0xcebdcc46508351f4927ce9dcc5921b72b253b52d", + "percent": 0 + }, + { + "label": "Zero Transfer Scam", + "type": "suspected_malicious", + "volume": 127.859, + "address": "0x089f98432222a5d8c52e999ed24a4b36c5a78e71", + "percent": 0 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 1150732.8, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 0.433 + }, + { + "label": "Tornado.Cash: Router", + "type": "high_risk", + "volume": 1150732.8, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 0.433 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 1598.24, + "address": "0xca0840578f57fe71599d29375e16783424023357", + "percent": 0.001 + }, + { + "label": "Tornado.Cash: L1 Helper", + "type": "high_risk", + "volume": 1598.24, + "address": "0xca0840578f57fe71599d29375e16783424023357", + "percent": 0.001 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 1278592, + "address": "0x722122df12d4e14e13ac3b6895a86e84145b6967", + "percent": 0.481 + }, + { + "label": "Tornado.Cash: Proxy", + "type": "high_risk", + "volume": 1278592, + "address": "0x722122df12d4e14e13ac3b6895a86e84145b6967", + "percent": 0.481 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 143696.799, + "address": "0x910cbd523d972eb0a6f4cae4618ad62622b39dbf", + "percent": 0.054 + }, + { + "label": "Tornado.Cash: 10 ETH", + "type": "high_risk", + "volume": 143696.799, + "address": "0x910cbd523d972eb0a6f4cae4618ad62622b39dbf", + "percent": 0.054 + }, + { + "label": "HitBTC", + "type": "medium_risk", + "volume": 65392.663, + "address": "0x9c67e141c0472115aa1b98bd0088418be68fd249", + "percent": 0.025 + } + ] + }, + "MISTTRACK_ADDRESS_OVERVIEW": { + "balance": 933.8233, + "txs_count": 2400, + "first_seen": 1443428683, + "last_seen": 1694553035, + "total_received": 80033.1741, + "total_spent": 79076.9635, + "received_txs_count": 1274, + "spent_txs_count": 1126 + } + }, + "0x10F5d45854e038071485AC9e402308cF80D2d2fE": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x10f5d45854e038071485ac9e402308cf80d2d2fe", + "addressIncomingVolumeUsd": "771416.30278129141134009735099761967833218911", + "addressOutgoingVolumeUsd": "780970.1719337434605325230493798632400940315", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "91896.69031743509452134925017499945996400998", + "outgoingVolumeUsd": "68880.76782359961004992420246514917003821783", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "160777.45814103470457127345264014863000222781" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "132.11738000000000066441394053207147853458", + "outgoingVolumeUsd": "91.66322309375000006463164285708256073802", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "223.78060309375000072904558338915403927260" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0.96234999999999995501376304218865698203", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0.96234999999999995501376304218865698203" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1.60412000000000003339245546740698955074", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1.60412000000000003339245546740698955074" + }, + { + "category": "Adult Content", + "categoryId": "2", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "305.821235", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "305.821235" + }, + { + "category": "Decentralized File Sharing Service", + "categoryId": "4", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1.60615", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "1.60615" + }, + { + "category": "High-Risk dApp", + "categoryId": "5", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "17.5943", + "outgoingVolumeUsd": "4.953", + "riskType": "INDIRECT", + "totalVolumeUsd": "22.5473" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "38411.01887712", + "outgoingVolumeUsd": "244864.306003985", + "riskType": "INDIRECT", + "totalVolumeUsd": "283275.324881105" + }, + { + "category": "P2P Crypto Marketplace", + "categoryId": "7", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "313.871911", + "outgoingVolumeUsd": "350", + "riskType": "INDIRECT", + "totalVolumeUsd": "663.871911" + }, + { + "category": "Cash-to-Crypto", + "categoryId": "9", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "302.696999", + "outgoingVolumeUsd": "876.76", + "riskType": "INDIRECT", + "totalVolumeUsd": "1179.456999" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "9015.882", + "outgoingVolumeUsd": "876.76", + "riskType": "INDIRECT", + "totalVolumeUsd": "9892.642" + }, + { + "category": "Decentralized Marketplace", + "categoryId": "11", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "4.77375", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "4.77375" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1871.541286183", + "outgoingVolumeUsd": "475.2925046", + "riskType": "INDIRECT", + "totalVolumeUsd": "2346.833790783" + }, + { + "category": "Lending Service", + "categoryId": "16", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "316.713968", + "outgoingVolumeUsd": "99.99", + "riskType": "INDIRECT", + "totalVolumeUsd": "416.703968" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "317.75538", + "outgoingVolumeUsd": "394.048", + "riskType": "INDIRECT", + "totalVolumeUsd": "711.80338" + }, + { + "category": "Decentralized Gambling Service", + "categoryId": "25", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "307.165093", + "outgoingVolumeUsd": "4.953", + "riskType": "INDIRECT", + "totalVolumeUsd": "312.118093" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "316.558068", + "outgoingVolumeUsd": "475.2925046", + "riskType": "INDIRECT", + "totalVolumeUsd": "791.8505726" + }, + { + "category": "Known Hacker Group", + "categoryId": "35", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "4.113235245", + "riskType": "INDIRECT", + "totalVolumeUsd": "4.113235245" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Vendor", + "categoryId": "38", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "18.977530254", + "riskType": "INDIRECT", + "totalVolumeUsd": "18.977530254" + }, + { + "category": "Violent Extremism", + "categoryId": "42", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "89.783", + "outgoingVolumeUsd": "4.113235245", + "riskType": "INDIRECT", + "totalVolumeUsd": "93.896235245" + }, + { + "category": "Cybercrime Services", + "categoryId": "45", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "40.033430437", + "riskType": "INDIRECT", + "totalVolumeUsd": "40.033430437" + }, + { + "category": "Banned or Controlled Substances", + "categoryId": "47", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "3.021", + "outgoingVolumeUsd": "18.977530254", + "riskType": "INDIRECT", + "totalVolumeUsd": "21.998530254" + }, + { + "category": "Investment Scheme", + "categoryId": "55", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "21.3617", + "outgoingVolumeUsd": "4.113235245", + "riskType": "INDIRECT", + "totalVolumeUsd": "25.474935245" + }, + { + "category": "Decentralized Investment Scheme", + "categoryId": "56", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "85.832748", + "outgoingVolumeUsd": "876.76", + "riskType": "INDIRECT", + "totalVolumeUsd": "962.592748" + }, + { + "category": "Malware", + "categoryId": "57", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "22.081", + "outgoingVolumeUsd": "175.9855", + "riskType": "INDIRECT", + "totalVolumeUsd": "198.0665" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "319.016611", + "outgoingVolumeUsd": "1004.167296", + "riskType": "INDIRECT", + "totalVolumeUsd": "1323.183907" + }, + { + "category": "ICO Scam", + "categoryId": "64", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "316.146492", + "outgoingVolumeUsd": "1.888303897", + "riskType": "INDIRECT", + "totalVolumeUsd": "318.034795897" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "276.24639", + "outgoingVolumeUsd": "1397.942586479", + "riskType": "INDIRECT", + "totalVolumeUsd": "1674.188976479" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "475.2925046", + "outgoingVolumeUsd": "876.76", + "riskType": "INDIRECT", + "totalVolumeUsd": "1352.0525046" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "7439.98255", + "outgoingVolumeUsd": "876.76", + "riskType": "INDIRECT", + "totalVolumeUsd": "8316.74255" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Scam", + "categoryId": "628", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1.61397", + "outgoingVolumeUsd": "4.113235245", + "riskType": "INDIRECT", + "totalVolumeUsd": "5.727205245" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "384.018", + "outgoingVolumeUsd": "876.76", + "riskType": "INDIRECT", + "totalVolumeUsd": "1260.778" + } + ], + "addressSubmitted": "0x10F5d45854e038071485AC9e402308cF80D2d2fE", + "addressTotalVolumeUsd": "1552386.47471503487187262040037748291842622061", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x10f5d45854e038071485ac9e402308cf80d2d2fe/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 52, + "hacking_event": "", + "detail_list": [ + "Interact With Malicious Address", + "Interact With High-risk Tag Address" + ], + "risk_level": "Moderate", + "risk_detail": [ + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 0.95, + "address": "0xdd4c48c0b24039969fc16d1cdf626eab821d3384", + "percent": 0 + }, + { + "label": "Tornado.Cash: Donate", + "type": "high_risk", + "volume": 0.95, + "address": "0xdd4c48c0b24039969fc16d1cdf626eab821d3384", + "percent": 0 + } + ] + }, + "MISTTRACK_ADDRESS_OVERVIEW": { + "balance": 1.9833, + "txs_count": 861, + "first_seen": 1512395234, + "last_seen": 1692811187, + "total_received": 35.8258, + "total_spent": 34.5056, + "received_txs_count": 366, + "spent_txs_count": 495 + } + }, + "0xEE6572fD080F791E10B48F789a9C2eF76114bA86": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xee6572fd080f791e10b48f789a9c2ef76114ba86", + "addressIncomingVolumeUsd": "13387.23648515554873984427474718702175665141", + "addressOutgoingVolumeUsd": "12282.6881940049790907816404003094490349273", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1872.7274767013634552999453029665215217392", + "outgoingVolumeUsd": "2335.26348309021292205025447513699887733508", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "4207.99095979157637735019977810352039907428" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "5762.63161930054992434707683557348900649162", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "5762.63161930054992434707683557348900649162" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "512.532", + "outgoingVolumeUsd": "147.880317351", + "riskType": "INDIRECT", + "totalVolumeUsd": "660.412317351" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "126.094783892", + "outgoingVolumeUsd": "14.4279", + "riskType": "INDIRECT", + "totalVolumeUsd": "140.522683892" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "512.532", + "outgoingVolumeUsd": "147.73604", + "riskType": "INDIRECT", + "totalVolumeUsd": "660.26804" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "12.636936", + "riskType": "INDIRECT", + "totalVolumeUsd": "12.636936" + } + ], + "addressSubmitted": "0xEE6572fD080F791E10B48F789a9C2eF76114bA86", + "addressTotalVolumeUsd": "25669.92467916052783062591514749647079157871", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xee6572fd080f791e10b48f789a9c2ef76114ba86/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 99, + "hacking_event": "", + "detail_list": [ + "Interact With Malicious Address", + "Interact With High-risk Tag Address" + ], + "risk_level": "Severe", + "risk_detail": [ + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 3253.786, + "address": "0xca0840578f57fe71599d29375e16783424023357", + "percent": 12.941 + }, + { + "label": "Tornado.Cash: L1 Helper", + "type": "high_risk", + "volume": 3253.786, + "address": "0xca0840578f57fe71599d29375e16783424023357", + "percent": 12.941 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 4954.544, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 19.705 + }, + { + "label": "Tornado.Cash: Router", + "type": "high_risk", + "volume": 4954.544, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 19.705 + } + ] + }, + "MISTTRACK_ADDRESS_OVERVIEW": { + "balance": 0.0003, + "txs_count": 168, + "first_seen": 1649137756, + "last_seen": 1677910727, + "total_received": 7.9906, + "total_spent": 7.225, + "received_txs_count": 36, + "spent_txs_count": 132 + } + }, + "0x3f77d1F729B439dA80264622dEACe480153e683D": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x3f77d1f729b439da80264622deace480153e683d", + "addressIncomingVolumeUsd": "158928.81800327498856890915067226809314201575", + "addressOutgoingVolumeUsd": "152318.6128027764759267492114363891287887855", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "6779.66378815389484935447034907049650201051", + "outgoingVolumeUsd": "11744.66741133568607636559528056841017475008", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "18524.33119948958092572006562963890667676059" + }, + { + "category": "Decentralized Marketplace", + "categoryId": "11", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "0", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "0" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "5277.29329800000000991251525306324765552164", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "5277.29329800000000991251525306324765552164" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "685.04048167084004183314052682796102546701", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "685.04048167084004183314052682796102546701" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "2955.543501535", + "outgoingVolumeUsd": "6648.284013489", + "riskType": "INDIRECT", + "totalVolumeUsd": "9603.827515024" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "2.443818", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "2.443818" + }, + { + "category": "Decentralized Gambling Service", + "categoryId": "25", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "2.443818", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "2.443818" + }, + { + "category": "Decentralized Investment Scheme", + "categoryId": "56", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "625", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "625" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "625", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "625" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "45.327870398", + "riskType": "INDIRECT", + "totalVolumeUsd": "45.327870398" + } + ], + "addressSubmitted": "0x3f77d1F729B439dA80264622dEACe480153e683D", + "addressTotalVolumeUsd": "311247.43080605146449565836210865722193080125", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x3f77d1f729b439da80264622deace480153e683d/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 59, + "hacking_event": "", + "detail_list": [ + "Interact With Malicious Address", + "Interact With Suspected Malicious Address", + "Interact With High-risk Tag Address" + ], + "risk_level": "Moderate", + "risk_detail": [ + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 5758.064, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 4.418 + }, + { + "label": "Tornado.Cash: Router", + "type": "high_risk", + "volume": 5758.064, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 4.418 + }, + { + "label": "Fake_Phishing4980", + "type": "malicious", + "volume": 103.886, + "address": "0x0b79ecd2128ea2ec74681160da517f851b89555a", + "percent": 0.08 + }, + { + "label": "USDT Banned Address", + "type": "suspected_malicious", + "volume": 159.824, + "address": "0x881d40237659c251811cec9c364ef91dc08d300c", + "percent": 0.123 + } + ] + }, + "MISTTRACK_ADDRESS_OVERVIEW": { + "balance": 0.0001, + "txs_count": 1249, + "first_seen": 1620006527, + "last_seen": 1668741419, + "total_received": 30.4349, + "total_spent": 27.2193, + "received_txs_count": 354, + "spent_txs_count": 895 + } + }, + "0x5E1B70EA7F694951ebAC269BEb2b3F4f25dD6e6a": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x5e1b70ea7f694951ebac269beb2b3f4f25dd6e6a", + "addressIncomingVolumeUsd": "76367.26751144725994526414102997064590454102", + "addressOutgoingVolumeUsd": "77856.2270396649448224337675128481350839138", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "9966.37126553316558518208", + "outgoingVolumeUsd": "9957.46535730109436008206102997064590454102", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "19923.83662283425994526414102997064590454102" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "66400.89624591409436008206102997064590454102", + "outgoingVolumeUsd": "67798.3", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "134199.19624591409436008206102997064590454102" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "5.516531328", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "5.516531328" + } + ], + "addressSubmitted": "0x5E1B70EA7F694951ebAC269BEb2b3F4f25dD6e6a", + "addressTotalVolumeUsd": "154223.49455111220476769790854281878098845482", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x5e1b70ea7f694951ebac269beb2b3f4f25dd6e6a/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 99, + "hacking_event": "", + "detail_list": [ + "Interact With Malicious Address", + "Interact With High-risk Tag Address" + ], + "risk_level": "Severe", + "risk_detail": [ + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 100689.12, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 45.388 + }, + { + "label": "Tornado.Cash: Router", + "type": "high_risk", + "volume": 100689.12, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 45.388 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 380.225, + "address": "0x12d66f87a04a9e220743712ce6d9bb1b5616b8fc", + "percent": 0.171 + }, + { + "label": "Tornado.Cash: 0.1 ETH", + "type": "high_risk", + "volume": 380.225, + "address": "0x12d66f87a04a9e220743712ce6d9bb1b5616b8fc", + "percent": 0.171 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 6156.079, + "address": "0x47ce0c6ed5b0ce3d3a51fdb1c52dc66a7c3c2936", + "percent": 2.775 + }, + { + "label": "Tornado.Cash: 1 ETH", + "type": "high_risk", + "volume": 6156.079, + "address": "0x47ce0c6ed5b0ce3d3a51fdb1c52dc66a7c3c2936", + "percent": 2.775 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 79358.351, + "address": "0x910cbd523d972eb0a6f4cae4618ad62622b39dbf", + "percent": 35.773 + }, + { + "label": "Tornado.Cash: 10 ETH", + "type": "high_risk", + "volume": 79358.351, + "address": "0x910cbd523d972eb0a6f4cae4618ad62622b39dbf", + "percent": 35.773 + }, + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 9936.202, + "address": "0x07687e702b410fa43f4cb4af7fa097918ffd2730", + "percent": 4.479 + }, + { + "label": "Tornado.Cash: 10,000 DAI 2", + "type": "high_risk", + "volume": 9936.202, + "address": "0x07687e702b410fa43f4cb4af7fa097918ffd2730", + "percent": 4.479 + } + ] + }, + "MISTTRACK_ADDRESS_OVERVIEW": { + "balance": 0.0555, + "txs_count": 24, + "first_seen": 1656622877, + "last_seen": 1656710427, + "total_received": 63.3791, + "total_spent": 63, + "received_txs_count": 14, + "spent_txs_count": 10 + } + }, + "0xd81A68F256985452E82297b43A465DE4F2a6Fd24": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xd81a68f256985452e82297b43a465de4f2a6fd24", + "addressIncomingVolumeUsd": "1400981.20382583079765231847163754869468448373", + "addressOutgoingVolumeUsd": "1387233.48281897928061586930617896194078793573", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "14227.94918832169753125889805864490495878268", + "outgoingVolumeUsd": "13567.31254693911337471024227893656721736168", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "27795.26173526081090596914033758147217614436" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "239.7087357045000037882725996141175528433", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "239.7087357045000037882725996141175528433" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "4976.81318823999999877549099691620426710534", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "4976.81318823999999877549099691620426710534" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "6017.00074154666879167052684351801872252864", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "6017.00074154666879167052684351801872252864" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1008.101422334", + "outgoingVolumeUsd": "1354.33153908", + "riskType": "INDIRECT", + "totalVolumeUsd": "2362.432961414" + }, + { + "category": "P2P Crypto Marketplace", + "categoryId": "7", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "171.260544", + "riskType": "INDIRECT", + "totalVolumeUsd": "171.260544" + }, + { + "category": "Cash-to-Crypto", + "categoryId": "9", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "170.6917916", + "riskType": "INDIRECT", + "totalVolumeUsd": "170.6917916" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "746.54", + "outgoingVolumeUsd": "255.754145357", + "riskType": "INDIRECT", + "totalVolumeUsd": "1002.294145357" + }, + { + "category": "Non-Custodial Exchange", + "categoryId": "12", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "14.038392", + "outgoingVolumeUsd": "277.706", + "riskType": "INDIRECT", + "totalVolumeUsd": "291.744392" + }, + { + "category": "Lending Service", + "categoryId": "16", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "1.6436", + "outgoingVolumeUsd": "10.210421436", + "riskType": "INDIRECT", + "totalVolumeUsd": "11.854021436" + }, + { + "category": "Gambling Service", + "categoryId": "23", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "18.782399211", + "outgoingVolumeUsd": "379.51", + "riskType": "INDIRECT", + "totalVolumeUsd": "398.292399211" + }, + { + "category": "Decentralized Gambling Service", + "categoryId": "25", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "14.038392", + "outgoingVolumeUsd": "0", + "riskType": "INDIRECT", + "totalVolumeUsd": "14.038392" + }, + { + "category": "Hacked or Exploited Funds", + "categoryId": "34", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "266.640234459", + "outgoingVolumeUsd": "506.01", + "riskType": "INDIRECT", + "totalVolumeUsd": "772.650234459" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Vendor", + "categoryId": "38", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "115.298777144", + "riskType": "INDIRECT", + "totalVolumeUsd": "115.298777144" + }, + { + "category": "Violent Extremism", + "categoryId": "42", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "43.079037427", + "riskType": "INDIRECT", + "totalVolumeUsd": "43.079037427" + }, + { + "category": "Cybercrime Services", + "categoryId": "45", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "65.275", + "riskType": "INDIRECT", + "totalVolumeUsd": "65.275" + }, + { + "category": "Banned or Controlled Substances", + "categoryId": "47", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "40.647456", + "riskType": "INDIRECT", + "totalVolumeUsd": "40.647456" + }, + { + "category": "Investment Scheme", + "categoryId": "55", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "7.84605", + "riskType": "INDIRECT", + "totalVolumeUsd": "7.84605" + }, + { + "category": "Decentralized Investment Scheme", + "categoryId": "56", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "10.9263", + "outgoingVolumeUsd": "17.8389432", + "riskType": "INDIRECT", + "totalVolumeUsd": "28.7652432" + }, + { + "category": "Malware", + "categoryId": "57", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "14.038392", + "outgoingVolumeUsd": "50.289124472", + "riskType": "INDIRECT", + "totalVolumeUsd": "64.327516472" + }, + { + "category": "Scam", + "categoryId": "61", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "14.038392", + "outgoingVolumeUsd": "74.894952495", + "riskType": "INDIRECT", + "totalVolumeUsd": "88.933344495" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "1142.62745351", + "riskType": "INDIRECT", + "totalVolumeUsd": "1142.62745351" + }, + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "56.5036416", + "riskType": "INDIRECT", + "totalVolumeUsd": "56.5036416" + }, + { + "category": "Sanctions", + "categoryId": "69", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "1518.922650842", + "outgoingVolumeUsd": "88.65780858", + "riskType": "INDIRECT", + "totalVolumeUsd": "1607.580459422" + }, + { + "category": "Child Sexual Abuse Material (CSAM) Scam", + "categoryId": "628", + "categoryRiskScoreLevel": 10, + "categoryRiskScoreLevelLabel": "High", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "38.667157339", + "riskType": "INDIRECT", + "totalVolumeUsd": "38.667157339" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "14.038392", + "outgoingVolumeUsd": "1127.4918655", + "riskType": "INDIRECT", + "totalVolumeUsd": "1141.5302575" + } + ], + "addressSubmitted": "0xd81A68F256985452E82297b43A465DE4F2a6Fd24", + "addressTotalVolumeUsd": "2788214.68664481007826818777781651063547241946", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xd81a68f256985452e82297b43a465de4f2a6fd24/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 3, + "hacking_event": "", + "detail_list": ["Interact With High-risk Tag Address"], + "risk_level": "Low", + "risk_detail": [ + { + "label": "sideshift.ai", + "type": "high_risk", + "volume": 94.225, + "address": "0x0dddf861551eff4eedf00f349390a080862782ca", + "percent": 0.014 + } + ] + }, + "MISTTRACK_ADDRESS_OVERVIEW": { + "balance": 0.1649, + "txs_count": 25147, + "first_seen": 1660149737, + "last_seen": 1685751107, + "total_received": 671.7723, + "total_spent": 661.1415, + "received_txs_count": 14696, + "spent_txs_count": 10451 + } + }, + "0x7c3171A6eabc8fc95077762ACF4B04eE1eAEF465": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0x7c3171a6eabc8fc95077762acf4b04ee1eaef465", + "addressIncomingVolumeUsd": "109988.8940975073", + "addressOutgoingVolumeUsd": "83150.61387767879234599988080844923388212944", + "addressRiskIndicators": [ + { + "category": "Mixer", + "categoryId": "66", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "1968.34", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "1968.34" + } + ], + "addressSubmitted": "0x7c3171A6eabc8fc95077762ACF4B04eE1eAEF465", + "addressTotalVolumeUsd": "193139.50797518609234599988080844923388212944", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0x7c3171a6eabc8fc95077762acf4b04ee1eaef465/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 56, + "hacking_event": "", + "detail_list": [ + "Interact With Malicious Address", + "Interact With High-risk Tag Address" + ], + "risk_level": "Moderate", + "risk_detail": [ + { + "label": "OFAC Sanctions", + "type": "malicious", + "volume": 1598.24, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 1.002 + }, + { + "label": "Tornado.Cash: Router", + "type": "high_risk", + "volume": 1598.24, + "address": "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", + "percent": 1.002 + } + ] + }, + "MISTTRACK_ADDRESS_OVERVIEW": { + "balance": 0.0024, + "txs_count": 16, + "first_seen": 1652149345, + "last_seen": 1675383179, + "total_received": 49.9062, + "total_spent": 49.8733, + "received_txs_count": 5, + "spent_txs_count": 11 + } + }, + "0xa0bE23dB857262c8ff29763930fCD04Cc621FcCA": { + "TRM_SCREENING_ADDRESSES": { + "accountExternalId": null, + "address": "0xa0be23db857262c8ff29763930fcd04cc621fcca", + "addressIncomingVolumeUsd": "23903.96857340348588149997458102266915376124", + "addressOutgoingVolumeUsd": "23539.63789737160257333477746469196922872452", + "addressRiskIndicators": [ + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "6550.11251790336398411878556911051273345948", + "outgoingVolumeUsd": "6479.31658563600001934901229105889797210693", + "riskType": "COUNTERPARTY", + "totalVolumeUsd": "13029.42910353936400346779786016941070556641" + }, + { + "category": "Decentralized Exchange", + "categoryId": "6", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "2993.616509884", + "riskType": "INDIRECT", + "totalVolumeUsd": "2993.616509884" + }, + { + "category": "High-Risk Exchange", + "categoryId": "10", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "5.94015", + "riskType": "INDIRECT", + "totalVolumeUsd": "5.94015" + }, + { + "category": "Mining", + "categoryId": "65", + "categoryRiskScoreLevel": 1, + "categoryRiskScoreLevelLabel": "Low", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "1616.344665", + "riskType": "INDIRECT", + "totalVolumeUsd": "1616.344665" + }, + { + "category": "Community Complaint", + "categoryId": "638", + "categoryRiskScoreLevel": 5, + "categoryRiskScoreLevelLabel": "Medium", + "incomingVolumeUsd": "0", + "outgoingVolumeUsd": "5.94015", + "riskType": "INDIRECT", + "totalVolumeUsd": "5.94015" + } + ], + "addressSubmitted": "0xa0bE23dB857262c8ff29763930fCD04Cc621FcCA", + "addressTotalVolumeUsd": "47443.60647077508845483475204571463838248576", + "chain": "ethereum", + "entities": [], + "externalId": null, + "trmAppUrl": "https://my.trmlabs.com/address/0xa0be23db857262c8ff29763930fcd04cc621fcca/eth" + }, + "MISTTRACK_ADDRESS_RISK_SCORE": { + "score": 39, + "hacking_event": "", + "detail_list": ["Interact With Suspected Malicious Address"], + "risk_level": "Moderate", + "risk_detail": [ + { + "label": "Theft", + "type": "suspected_malicious", + "volume": 6401.04, + "address": "0xf4f1e0b0b93b7b2b7b6992b99f2a1678b07cd70c", + "percent": 13.598 + } + ] + }, + "MISTTRACK_ADDRESS_OVERVIEW": { + "balance": 0.0001, + "txs_count": 33, + "first_seen": 1660267953, + "last_seen": 1694247071, + "total_received": 4.7884, + "total_spent": 4.7396, + "received_txs_count": 8, + "spent_txs_count": 25 + } + } +} diff --git a/actors/deposit-screener/tsconfig.json b/actors/deposit-screener/tsconfig.json index 33312a3b9..94a564363 100644 --- a/actors/deposit-screener/tsconfig.json +++ b/actors/deposit-screener/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "outDir": "dist", "allowSyntheticDefaultImports": true, - "allowJs": true + "allowJs": true, + "resolveJsonModule": true }, "type": "module", "exclude": ["node_modules", "dist", "config"],