# Privy Wallet Clustering, Filter by Data Source, and Form Allowlists

*Weekly insights to help you learn, build, and scale onchain.*

By [Onchain Growth Insights by Formo](https://paragraph.com/@getformo), 2026-08-11

defi, web3, cryptocurrency, onchain, analytics

---

August 10, 2026

gm, builders! 👋 Here’s your roundup of this week’s insights.

**Highlights**
--------------

*   Privy Wallet Clustering
    
*   Filter by Data Source
    
*   Allowlists for Token-Gated Forms
    
*   Revenue and Volume by Ad Platform
    
*   Improved API, MCP, CLI Coverage
    
*   Historical Wallet Profiles API
    
*   Delete Profile Properties and Labels API
    
*   Reading List
    

* * *

**Privy Wallet Clustering**
---------------------------

The latest Web SDK now automatically links Privy linked wallets in one call: pass the Privy user object and the SDK identifies every linked wallet and groups them into a wallet cluster.

For apps using Privy embedded wallets, `identify(user)` reads every wallet linked to the Privy account and tags each one with the same DID, so they cluster into a single user. The primary wallet the user is active on is used for attribution.

Are you using Privy? Upgrade to the [latest SDK](https://github.com/getformo/sdk/releases) or learn more about the [Privy integration](https://docs.formo.so/sdks/web#privy-integration).

[**View changelog**](https://formo.so/changelog/mobile-analytics-rolling-retention-unified-api-filters)

* * *

**Filter by Data Source**
-------------------------

The dashboard now supports a **Data source** filter, available on the Overview, Activity, and Users pages. You can now better understand cross-platform data from web to mobile on a single view.

![Dashboard showing key metrics like page views, wallets, sessions, and volume, with a filter menu open to select data sources like Web, Mobile, Server](https://storage.googleapis.com/papyrus_images/05bafa265b49855e48f89927ff8a7bcbd745c18f1ff8910333031ee2bead7b1a.png "Dashboard showing key metrics like page views, wallets, sessions, and volume, with a filter menu open to select data sources like Web, Mobile, Server")

  

Use the data source filter to segment your key metrics and KPIS by where the data actually came in, such as `web`, `mobile`, or `onchain`. The filter makes it easy to compare KPIs between web and mobile platforms or separate onchain and server-side events from web traffic.

Thanks for reading Onchain Growth Insights by Formo! Subscribe for free to receive new posts and support my work.

* * *

**Allowlists for Token-Gated Forms**
------------------------------------

You can now restrict a form to a list of wallet addresses you upload as a CSV. Useful for private alphas or any form where the target audience is an allowlist you already hold. Available for both EVM and Solana.

![Settings page showing access gating options for connecting EVM and Solana wallets.](https://storage.googleapis.com/papyrus_images/8bce9476542f0ddc82351017e79e65cf9d2831494323303f35978aedf6ba9342.jpg "Settings page showing access gating options for connecting EVM and Solana wallets.")

Your list never leaves your device. Your browser turns the CSV into a bloom filter, a compact bit array that answers “is this address on the list?” without containing the addresses.

Get started with [allowlists](https://docs.formo.so/features/token-gated-forms/token-gating#allowlist).

* * *

**Revenue and Volume by Ad Platform**
-------------------------------------

Revenue and Volume are now available in the Ads chart, so you can see which campaigns produce revenue rather than clicks. Both Revenue and Volume are attributed per event, classified at ingest from the click ID or a paid `utm_medium`.

Grouping by ad platform is also live on the API: pass `metric_column=paid_source` to [revenue by metric](https://docs.formo.so/api/query/revenue-by-metric) and [volume by metric](https://docs.formo.so/api/query/volume-by-metric), which return paid rows only, or `group_by=paid_source` to [revenue overview](https://docs.formo.so/api/query/revenue-overview).

See [ad attribution](https://docs.formo.so/features/product-analytics/ads) to learn more.

* * *

**Improved API, MCP, CLI Coverage**
-----------------------------------

Most of what you can do in the dashboard, you can now do from the API, the MCP server, and the CLI. Every dashboard action reachable by a coding agent means Formo is agent-ready: point Claude or Cursor at the MCP server and it can query your analytics, manage boards and alerts, and manage wallet profiles for you.

*   **MCP**: 8 new tools, including `execute_saved_chart`, `reorder_charts`, and the profile write tools for updating properties, upserting and deleting labels, and importing wallets.
    
*   **API**: 4 chart routes (reorder, move, duplicate, and saved-query execution) are now in the reference with their required permissions.
    
*   **CLI**: `@formo/cli` 1.3.0 supports the latest additions and changes
    

Browse the [MCP tools](https://docs.formo.so/mcp/overview#available-tools) and the [API reference](https://docs.formo.so/api/overview) to learn more.

* * *

**Historical Wallet Profiles API**
----------------------------------

Historical wallet data is now available on the API and the CLI, in addition to the wallet profile page.

![API documentation shows how to retrieve historical wallet profile data using a timestamp parameter.](https://storage.googleapis.com/papyrus_images/b3757a59879e02f356c4731972676856ae0f021c7032ddca0295f41cf8d51502.jpg "API documentation shows how to retrieve historical wallet profile data using a timestamp parameter.")

Pass a `timestamp` to a profile read and Formo returns the stored enrichment snapshot closest to that instant, so you can reconstruct net worth, holdings, and app positions as they stood before a campaign, an airdrop, or a churn event.

See the [Profiles API](https://docs.formo.so/api/profiles/get) and [CLI](https://docs.formo.so/cli/profiles) docs for reference.

* * *

**Delete Profile Properties and Labels API**
--------------------------------------------

Profile properties can now be deleted through the API. Send `null` as a property value to unset it, in the same call where you set others. Every key you do not mention is left untouched.

A deleted property reads as `null` everywhere: profile reads, the Users table, search, and filters such as `notEmpty`.

Labels gain a dedicated delete endpoint and MCP tool, which remove a label outright rather than marking it deleted at a past timestamp with `_is_deleted`.

See [update properties](https://docs.formo.so/api/profiles/update-properties#deleting-properties) and [delete label](https://docs.formo.so/api/profiles/delete-label).

* * *

**Reading List**
----------------

*   All-Protocol Update — July 2026 by _Will Corcoran_. [Link](https://x.com/corcoranwill/status/2083313409744130449?utm_source=paragraph-email&utm_medium=post&utm_campaign=post-delivery&utm_content=post-body)
    
*   Scaled UI Extension (ERC-8056) vs Rebasing Tokens🔍 by _Matteoikari.eth_. [Link](https://x.com/matteoikari/status/2084214346251387053?utm_source=paragraph-email&utm_medium=post&utm_campaign=post-delivery&utm_content=post-body)
    
*   The Rise and Quiet Death of the Neobank by _Francesco Andreoli_. [Link](https://x.com/francescoswiss/status/2081765032937877937?s=20&_bhlid=adc9addce9101212c6fcbe29c5a10bc4fa837714)
    
*   How To Win Crypto’s Next Bull Market by _The Wolf Of All Streets_. [Link](https://x.com/scottmelker/status/2086501426256298078)

---

*Originally published on [Onchain Growth Insights by Formo](https://paragraph.com/@getformo/privy-wallet-clustering-filter-by-data-source-and-form-allowlists)*
