This page defines the core vocabulary used throughout Cryptique’s documentation. Where relevant, each term is mapped to its equivalent in Mixpanel or Amplitude.
The primary identifier for a user in Cryptique. Every user — anonymous or identified — has one.
Anonymous users: Cryptique auto-generates a distinct_id (e.g. anon_abc123xyz) on first visit, stored in a first-party cookie (cq_distinct_id).
Identified users: When you call Cryptique.identify('your_id'), the anonymous distinct_id is replaced with the ID you supply (typically your database user ID or UUID).
distinct_id is always developer-controlled after identification — Cryptique never reassigns it.
An internal UUID assigned by Cryptique to each profile record. Unlike distinct_id (which you control), user_identity_id is system-generated and stable across merges. You will see it in raw data exports; you do not need to set or reference it in your SDK calls.
Cryptique’s internal system for unifying profiles that belong to the same real user across devices, sessions, and wallets.Merge is triggered when:
The same identify() ID is called across two different sessions or devices.
The same wallet address is connected on two different profiles.
When a merge occurs, event history, profile properties, and wallet links from both profiles are combined into a single unified profile. The merge is automatic — no SDK calls required beyond standard identify() and walletAddress() usage.
Behavioral events the SDK sends withoutCryptique.track(), using the same pipeline as custom events. They are off unless you set auto-events="true" on the script tag or call Cryptique.enableAutoEvents().Examples of event names (not exhaustive):
Event
What triggers it
page_view
Page load / route
element_click
Clicks
rage_click / dead_click
Frustration / non-interactive patterns
page_scroll
Scroll depth increases
form_submit
Form submit (metadata only)
form_validation_error / form_abandoned
Validation and abandon signals
media_play / media_pause
Video/audio
text_selection / copy_action
Selection and copy
js_error / network_error
Client errors
page_performance
Performance summary after load
exit_intent / page_summary
Exit and page-level aggregates
Disable names or paths via script attributes or Cryptique.disableAutoEvent(). See Auto-Events.
Group membership ties the current user to entities you label with a group key (e.g. company) and group ID (e.g. acme-inc). Group profiles store properties for that pair.
The automatic process by which Cryptique adds on-chain properties to a user profile once a wallet address is linked. No extra SDK calls are needed.Properties added automatically:
Property
Description
wallet_age_days
Days since the wallet’s first on-chain transaction
total_transaction_count
All transactions across supported chains
net_worth_usd
Approximate portfolio value across chains
eth_balance (and per-chain equivalents)
Native token balance per chain
dapps_used
dApps the wallet has interacted with
is_whale
Derived boolean based on net worth
Enrichment covers all 35+ chains supported by Cryptique. There is no equivalent concept in Mixpanel or Amplitude (off-chain-only tools).
The Cryptique.people.* namespace contains methods for setting and managing persistent user profile properties. Unlike event properties (which are attached to a single event), people properties are stored on the profile and persist across sessions.
On-chain events generated from your indexed smart contracts. Unlike behavioral events (which you track via the SDK), transactions are captured automatically once you add a contract in Settings → Contracts.Transactions are linked to user profiles via the wallet address — if the wallet that executed a transaction is connected to a Cryptique profile, the transaction appears in that profile’s timeline.See Transactions for details.