What you’ll learn
By the end of this guide, you’ll know how to:- Screen a wallet address
- Interpret its overall risk score
- Identify the risk factors contributing to that score
- Review historical transaction activity
- Understand exposure to risky counterparties
- Trace where a wallet’s funds came from
- Use the results in an automated decision workflow
1
Get your API key
Follow this guide to get an API key.Create or log in to your Webacy Developer account and generate an API key from your dashboard. Your API key authenticates requests to the Webacy API and determines the usage associated with your account.Keep your API key secure and never expose it in client-side code or public repositories.Once you have your key, you’re ready to make your first request.
2
Submit a wallet for screening
Pass the wallet address you want to evaluate to the Webacy wallet screening endpoint.Webacy analyzes the address using its onchain activity, transaction history, counterparties, known entities, and proprietary risk intelligence.Try this example:Because risk changes continuously onchain, Webacy evaluates wallets against the latest available data rather than relying solely on a static historical assessment.
You’ll use the example wallet
0x0fa09c3a328792253f8dee7116848723b72a6d2e on Ethereum. See example addresses for more.3
Check the overall risk score
Start with the wallet’s overall risk assessment. This provides a quick indication of whether Webacy has identified potentially concerning activity associated with the address.A lower-risk wallet may have few or no significant indicators, while an elevated assessment means one or more risk factors warrant additional attention.For the example above, below is an example response:The overall score is a useful starting point, but deeper due diligence should also consider the underlying signals contributing to it.
In this example,
overallRisk: 100 which means this address is HIGH RISK.4
Review the risk factors
Next, inspect the individual risk factors identified for the wallet.Webacy evaluates hundreds of proprietary risk signals across areas such as:
- Sanctions exposure
- Known scams and malicious addresses
- Hacks and exploits
- Stolen funds
- Suspicious transaction patterns
- High-risk counterparties
- Address poisoning
- Indirect or multi-hop exposure
- Other anomalous onchain behavior
In this example, under
"issues" and "tags" you will see risk factors associated with the address. This one has the risk factors "DPRK" and "HACK" associated with it, which provides insight into why the overall score is high.Additionally in the “details” and “address_info” section, you can find a quick list of risk-associated factors in boolean format. For this example, you can see "dprk": true and "hack": true.5
Trace where the funds came from (optional)
A wallet can carry no risk labels of its own and still be funded by a sanctioned entity, a hack, or a mixer. Add The first call for a wallet starts the trace in the background and returns the normal risk response with the block in Once the trace completes, the block lists the flagged senders it found (the 20 most severe; How to read the block:
fund_flow_exposure=true to the same request and Webacy screens the wallet’s incoming transfers up to two hops back for senders in its risk labels: sanctions, DPRK, hacks, scams and phishing, mixers, money laundering, FBI IC3 reports, address poisoning and analyst flags.Fund-flow exposure is opt-in and available on Ethereum, BSC, Arbitrum, Base and Polygon (chain=eth, bsc, arb, base, pol). On other chains the block comes back as status: unavailable with reason: unsupported_chain, at the standard wallet screening price.This step uses a different wallet from the one above. The DPRK wallet already scores 100, so any lift would be invisible; 0x811fb2a04ccc066bed2b944bdda22a15bb1e7439 looks almost clean on its own labels (one address-poisoning tag, overallRisk of 7) and only its funding history gives it away.pending. Poll the same request after retry_after_seconds:findings_truncated tells you when there were more). If any finding scores and the wallet is not a verified or trusted address, it also picks up a fund_flow_exposure tag under issues and its overall score is raised to at least the medium or high range; score_applied tells you whether that happened. Below is the response for the example above, trimmed to three of its findings:In this example the wallet received 2.08% of its USDT directly from an address flagged for phishing, and 25.82% of its ETH through an intermediary that was funded by a mixer. Both findings score, so the wallet is medium tier and
overallRisk rose to 44.7. The address-poisoning senders are listed with "scored": false — they explain the inflow but never affect the score, because a poisoning attempt says nothing about the recipient.A hop-2 finding scores only when the flagged address was also a material funder of the intermediary — at least 1% of the intermediary’s inflow of a token the intermediary is funded in — so a wallet is not penalised because one of its senders once received dust from a mixer.Results are cached for 24 hours (2 hours when
inflow_truncated is true). An unavailable outcome, or a none from a trace that could not read everything it needed, is kept for only about two minutes, so the next request re-traces. refreshCache=true refreshes the whole screening, not just the exposure — it may answer 202 while the wallet is re-analysed — and the exposure block keeps serving the last outcome while the fresh trace runs; a wallet is re-traced at most once every couple of minutes.6
Take action based on the result
Once you’ve evaluated the wallet, you can incorporate Webacy’s risk intelligence into your own application or policy engine. The appropriate action depends on your use case, jurisdiction, risk tolerance, and internal policies.Webacy provides the underlying intelligence so your system can determine what happens next.
In this example, you should block this wallet address from interaction with your platform, transaction, asset, or other activity.
Continue monitoring
A wallet screening represents the risk associated with an address at the time of analysis. For many applications, screening once is not enough. New transactions can introduce new counterparties, exposures, and risk factors at any time. For ongoing protection, combine wallet screening with Webacy’s transaction monitoring and Wallet Watch capabilities to identify changes in risk as new activity occurs.Common use cases
Wallet screening can be incorporated anywhere your application needs to make a decision about an onchain address, including:- User onboarding — evaluate wallets before allowing access or activity
- Deposits and withdrawals — assess addresses before processing funds
- Compliance workflows — identify sanctions and other high-risk exposure
- Investigations — analyze suspicious wallets and related activity
- Trading platforms — evaluate addresses interacting with your platform
- Treasury operations — assess counterparties before sending funds
- AI agents — evaluate wallet risk before executing an autonomous action
