T

TrustQL

Understand your web3 users; better and faster.

The problem TrustQL solves

A lot of products/protocols in web3 need to segment their users's activity and utilize a trust metric for screening web3 activity. They don't have existing tools to get this metric easily and there's limited direct data available on-chain to build their own solutions for this problem. As web3 adoption scales, product/protocols will need data solutions to screen wallet addresses, learn more about them and personalize services for them. With TrustQL, we've created a query language for custom web3 activity scoring. Unlike a one-size-fits-all trust score, we have created a framework to produce trust scores based on weighted parameters. Users can specify parameters that they value/they don't value, and the framework will adjust scores to prioritize their preferences. A decentralised exchange might screen users for a trust score based on number of transactions/number of approvals and a NFT exchange might screen users for a trust score based on number of mints/wallet age. This framework is infinitely customisable and and is designed to work with efficient external API calls.

Challenges we ran into

We have essentially built our own blockchain parsing abstraction. The biggest challenge we faced was minimizing latency/time taken to fetch large amounts of on-chain data and maximizing the kinds of insights we can extract from just one API call. While it's hard to solve this problem entirely, we used transaction log APIs to create a local map of a user's activity whenever we're queried. We then rely on that local map to answer multiple questions, rather than fetching on-chain data everytime. We were also unsure about normalizing trust scores as they are in different ranges and units. To fix this, we came up with a "Level" system, akin to what happens in games. If you ask for any 2 metrics i.e number of transactions and wallet age, both of them will be assigned a level based on their value, and their levels are clubbed together in our algorithm to calculuate an overall score.

Discussion