Documentation
How Terra Tax scoring and analytics work
Overview
Terra Tax provides on-chain analytics for Terra Phoenix wallets. It aggregates your transaction history into three core products: a Lunatic Score that rates your on-chain reputation, a Tax Summary that breaks down transactions by category and fee totals per year, and a Wallet Persona that classifies your activity patterns.
All data comes directly from indexed on-chain transactions. No off-chain data, no wallet balances, no token prices — purely what you've done on-chain.
Lunatic Score
Your Lunatic Score is a number from 0 to 100 that represents your overall on-chain engagement on Terra Phoenix. It's calculated from five weighted dimensions, each measuring a different aspect of how you use the chain.
The final score is a weighted average: each dimension's value (0-100) is multiplied by its weight, then summed. The result determines your tier.
score = (Activity × 0.35) + (Consistency × 0.20) + (Diversity × 0.20) + (Staking × 0.15) + (Governance × 0.10)
Score Dimensions
Each dimension is scored independently from 0 to 100. Most use logarithmic or ratio-based formulas so that early engagement has the most impact — you don't need thousands of transactions to score well.
Activity
35% weightMeasures raw transaction volume. Uses a logarithmic scale so early transactions have more impact than later ones — going from 10 to 100 txs matters more than 1000 to 1100.
Formula
20 * log10(total_txs)Examples
- 1 tx = 0 points
- 10 txs = 20 points
- 100 txs = 40 points
- 1,000 txs = 60 points
- 10,000+ txs = 80-100 points
Consistency
20% weightRewards sustained, regular chain usage over time. Compares the number of days you transacted vs. total days since your first transaction. Being active roughly 1 out of every 3 days earns full marks.
Formula
(active_days / total_days) * 300Examples
- Active every day = 100 points (capped)
- Active every 3 days = ~100 points
- Active once a week = ~43 points
- Active once a month = ~10 points
Diversity
20% weightCounts how many distinct message types you've used across the entire Cosmos SDK: sends, swaps, delegations, governance votes, IBC transfers, contract executions, and more. Using the full breadth of chain capabilities scores highest.
Formula
unique_msg_types * 10Examples
- 1 type (just sends) = 10 points
- 5 types = 50 points
- 10+ types = 100 points (capped)
Staking
15% weightCounts all staking-related actions: delegations, undelegations, and redelegations. Uses a log2 scale — early staking actions have the most impact. Consistent stakers who regularly manage their positions score highest.
Formula
20 * log2(delegation_events + 1)Examples
- 1 delegation = 20 points
- 3 actions = 40 points
- 15 actions = 80 points
- 30+ actions = 100 points
Governance
10% weightMeasures governance participation through on-chain votes. Each proposal you vote on contributes. Uses log2 scaling — your first few votes matter most, encouraging broad participation.
Formula
25 * log2(votes + 1)Examples
- 1 vote = 25 points
- 3 votes = 50 points
- 7 votes = 75 points
- 15+ votes = 100 points
Tiers
Your total weighted score maps to one of five marine-themed tiers:
Top-tier Lunatics with deep chain engagement across all dimensions.
Highly active wallets with strong participation in multiple categories.
Solid community members with meaningful on-chain history.
Growing wallets with room to diversify their chain activity.
New or minimal-activity wallets just starting their journey.
Badges
Badges are awarded based on specific on-chain achievements. They're grouped into categories and have up to 3 tiers representing depth of engagement. Badges are computed from your full transaction history — not just a single year.
Infrastructure
Created a validator on-chain via MsgCreateValidator.
Validator with ongoing oracle or edit activity.
Submitted 5+ oracle price votes (MsgAggregateExchangeRateVote).
Relayed 10+ IBC packets (RecvPacket, Ack, Timeout).
Relayed 100+ IBC packets.
Deployed or instantiated smart contracts (MsgStoreCode / MsgInstantiateContract).
Governance
Voted on 10+ governance proposals.
Voted on at least 1 governance proposal.
DeFi & Staking
50+ DeFi smart contract interactions.
Regular claim + restake pattern (5+ of each).
Staked to 3+ validators and never unstaked.
Cross-chain & Social
Sent 10+ IBC transfers across chains.
Interacted with 10+ unique known protocols.
80%+ interactions concentrated in a single known protocol.
20+ NFT-related interactions (mint, transfer, send).
Achievements
First transaction within the chain's first month (before Jun 28, 2022).
1,000+ total transactions processed.
Average of 50+ transactions per active day.
Tax Summary
The Tax Summary page aggregates your transactions by calendar year. It shows total transaction counts (successful and failed), fee totals by denomination, and a categorized event breakdown.
Event Categories
Every transaction's message types are classified into one of seven categories:
- Transfers — MsgSend, MsgMultiSend (native token transfers)
- Swaps — Market swaps and DEX swap messages
- Staking — Delegations, undelegations, redelegations, reward claims, Alliance messages
- Governance — Proposal votes, deposits, and submissions
- Contracts — MsgExecuteContract, MsgInstantiateContract, MsgMigrateContract
- IBC — Cross-chain IBC transfers (MsgTransfer)
- Other — All other message types not in the above categories
Monthly Activity
The timeline chart shows your transaction distribution across the 12 months of the selected year, helping you visualize when your on-chain activity was most concentrated.
Wallet Involvement
Tax summaries include all transactions where your address was involved — not just transactions you signed. This includes transactions where you appear as:
- Signer — You signed and submitted the transaction
- Event participant — You appear as sender, recipient, receiver, spender, or delegator in event attributes
- Fee payer — You paid the transaction fee (authz/feegrant scenarios)