Skip to main content
Resold by Frayme. No client API key required. Credentials and billing are managed end-to-end.
Crystal Intelligence is the blockchain-analytics engine behind every on-chain decision Frayme makes — wallet screening at onboarding, withdrawal precheck, counterparty exposure analysis, and continuous monitoring with cadence matched to risk. Two engines bundled in one provider:

Risk Check

Synchronous. POSTs an address (and optionally a tx hash) and returns risk score + entity + signals inline. Used for blocking decisions.

Monitor

Asynchronous. Adds the address to ongoing surveillance with a configurable cadence (1d / 7d / 14d). Webhook callbacks fire on grade changes.

Supported chains

40+ networks including BTC, ETH, TRON, BSC, Polygon, Solana, Arbitrum, Optimism, Avalanche, Litecoin, Bitcoin Cash, Ethereum Classic, and major L2s + stablecoins on each.

25+ signal types

Crystal classifies addresses into entities and assigns exposure to: sanctions, mixer, dark_market, dark_service, ransom, stolen_coins, terrorism_financing, child_exploitation, scam, exchange_unlicensed, gambling, phishing, fraud_shop, seized_funds, extortion, child_abuse_material, human_trafficking, weapons, drug_market, bridge, mining_pool, defi, cex, p2p_exchange, payment_processor, merchant_services, nft_marketplace.

Node configuration

A Crystal dataSource node carries a structured crystalConfig payload with three top-level surfaces:
"riskCheck": {
  "type": "withdrawal" | "deposit" | "address",
  "blockchain": "btc" | "eth" | "trx" | ...,
  "tokenId": "0",
  "addressVariable": "{{input.wallet_address}}",
  "txVariable": "{{input.tx_hash}}",
  "riskScoreProfileId": 0,
  "blockOnBlocklistHit": true,
  "blockOnRiskScoreAbove": 75,
  "alertOnSanctionsHit": true,
  "alertOnMixerExposureAbove": 10,
  "alertOnDarknetExposureAbove": 5
}
FieldPurpose
typeDirection context. withdrawal is the most common for precheck.
riskScoreProfileIdCrystal supports custom risk-score profiles. 0 = default equal-influence profile.
blockOnBlocklistHitCrystal’s own opinion — Frayme reads it for the band classification.
blockOnRiskScoreAboveCrystal threshold (0–100).
alertOnSanctionsHitAlways raise an alert when sanctions exposure is detected, even if score is low.
alertOnMixerExposureAboveMixer exposure threshold in %.
alertOnDarknetExposureAboveDarknet exposure threshold in %.

Banded routing

The standard pattern for consuming the Risk Check output:
Crystal scoreBandDefault routing
≥ 0.90 OR sanctions/blocklist hitsevereManual review with deterministic-fail recommendation.
0.75–0.89high1-day cadence Monitor + senior compliance review.
0.40–0.74medium7-day cadence Monitor + AI synthesis + junior review.
< 0.40low14-day cadence Monitor + auto-approve.

Cache behaviour

Risk Check responses are cached for 30 days by default (configurable per workflow). Frayme uses the cached score when:
  • The same wallet is screened twice within the TTL.
  • The Monitor engine hasn’t fired a grade-change webhook since the cache hit.
This protects budget against the “withdraw-to-same-address-50-times” pattern.

Observability

  • Top signals are surfaced inline in the Decision Console.
  • Counterparty entity name + URL deep-link straight into Crystal Expert (expert.crystalintelligence.com).
  • Per-case trace of the address’s risk-grade history.