For the complete documentation index, see llms.txt. This page is also available as Markdown.

How to Personalize DeFi Onboarding with GetBlock Full Wallet Audit API

This guide teach you how to create a smart onboarding flow that screen user wallet before using your dApp

When a new user connects their wallet to your dApp, you already know more about them than any sign-up form could ask — it's all on-chain. Are they a cautious newcomer or a seasoned LP? Do they lend, trade, farm, or bridge? Have they ever touched a sanctioned address?

The GetBlock Full Wallet Audit API reads a wallet's entire history and returns a behavioral profile: an experience score, predicted intentions, protocols used, AML screening, and tailored recommendations — all in one request.

In this guide, you'll build a smart onboarding flow that does two jobs at once:

  1. It AML-screens the connecting wallet (and blocks it if it's fraudulent or sanctioned).

  2. Personalizes the experience based on who the wallet actually belongs to.

Generic onboarding
Audit-driven onboarding

Same welcome flow for everyone

Tailored to the wallet's experience level

AML check bolted on separately

Screening and personalization in one call

"What are you here to do?" — you ask

Predicted intentions come back from the model

No idea what protocols they use

Top protocols returned, ready for "import positions"

What you'll build

An onboardWallet(address, network) function that:

  1. Runs a Full Wallet Audit on the connecting wallet.

  2. Gates onboarding on fraud probability and sanctions hits (fail closed).

  3. Reads the behavioral profile — experience score, balance, age, risk capacity.

  4. Reads predicted intentions — lend / trade / farm likelihoods.

  5. Surfaces protocols already used and the model's recommendations.

How it works

Prerequisites

Project Setup

1

Set up the project

2

Get your API key

  1. Open Address Audit → API keys.

  2. Copy your key and save it in an .env file

3

Write the API caller

Create audit.js:

4

Build the onboarding decision

Create onboard.js. It screens first, then personalizes. The riskLevel helper is the same one used for the Risk Check.

5

Choose an onboarding track from the profile

The experience score makes branching trivial. Create index.js:

6

Run it

Expected output (for an experienced, clean wallet):

Understanding the response

Field
What it tells you
How to use it

status / probabilityFraud

Fraud verdict + score

Gate onboarding before personalizing.

sanctionData

Sanctions-list matches

Hard block on any isSanctioned: true.

experience.Value

Sophistication, 0–10

Branch the onboarding track.

riskCapability

Risk capacity, 0–10

Tune default leverage / product surfacing.

intention.Value

Predicted activities

Lead with the user's likely intent (lend/trade/farm).

protocols

Protocols used + counts

Power "import your existing positions".

recommendation.Value

Model suggestions

Feed straight into your UI copy.

userDetails

Age, balance, tx count, rank

Segment users; spot whales / newcomers.

Troubleshooting

Symptom
Likely cause
Fix

HTTP 400 "contract not supported"

You passed a contract address

Audit accepts EOA wallets only.

Sparse / low-confidence profile

Wallet has too few transactions

Needs ~10–15 txns; treat thin wallets as "beginner".

HTTP 400 unsupported network

Network not covered by Audit

Use eth, bsc, or base only.

HTTP 401 / 403

Bad key / no Address Audit access

Re-check GETBLOCK_KEY and your plan.

HTTP 402 / 429

Out of quota / rate limited

Free tier is 5/day; back off or top up.

Conclusion

You built an onboarding flow that screens a connecting wallet for fraud and sanctions, then personalizes the experience from its on-chain behavior — experience level, predicted intentions, protocols, and model recommendations — all from a single Full Wallet Audit call. From here, you can store the segment, drive feature flags, or A/B test onboarding tracks per experience tier.

Resources

Last updated

Was this helpful?