3.1 Cryptocurrency Taxonomy
The term "cryptocurrency" encompasses a diverse range of digital assets with fundamentally different architectures and purposes. Understanding this taxonomy is essential for proper legal classification, investment analysis, and technical implementation.
Coins vs Tokens
Classification by Function
| Category | Purpose | Examples |
|---|---|---|
| Payment Coins | Medium of exchange | BTC, LTC, BCH, XMR |
| Platform Coins | Power smart contract platforms | ETH, SOL, ADA, DOT |
| Utility Tokens | Access to specific service/platform | LINK, FIL, BAT |
| Governance Tokens | Voting rights in protocols | UNI, AAVE, MKR |
| Stablecoins | Price stability (pegged to fiat) | USDT, USDC, DAI |
| Security Tokens | Represent ownership/investment | tZERO, Polymath securities |
| NFTs | Unique digital ownership | CryptoPunks, BAYC |
Market Dominance
Bitcoin dominance - the percentage of total crypto market cap held by BTC - is a key market indicator:
- High dominance (60%+): "Risk-off" sentiment, flight to quality
- Low dominance (40%-): "Alt season" - speculative interest in altcoins
- Current range: Typically 40-55% in mature market conditions
In the US, the SEC applies the Howey Test to determine if a token is a security: (1) Investment of money, (2) In a common enterprise, (3) With expectation of profits, (4) Derived from efforts of others. Many tokens fail this test, creating regulatory risk.
3.2 ERC-20: The Fungible Token Standard
ERC-20 (Ethereum Request for Comments #20) is the foundational token standard that enabled the ICO boom and powers most of DeFi. It defines a common interface that allows tokens to be traded, transferred, and integrated across the entire Ethereum ecosystem.
ERC-20 Interface
// ERC-20 Standard Interface interface IERC20 { // Returns total token supply function totalSupply() external view returns (uint256); // Returns balance of account function balanceOf(address account) external view returns (uint256); // Transfers tokens to recipient function transfer(address to, uint256 amount) external returns (bool); // Returns remaining allowance for spender function allowance(address owner, address spender) external view returns (uint256); // Approves spender to spend tokens function approve(address spender, uint256 amount) external returns (bool); // Transfers tokens from one address to another function transferFrom(address from, address to, uint256 amount) external returns (bool); // Events event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); }
Key Concepts
Approve/TransferFrom Pattern
The two-step approval pattern enables smart contracts (like DEXes) to spend tokens on your behalf:
- Approve: User authorizes a contract to spend up to X tokens
- TransferFrom: Contract moves tokens from user to destination
Many DApps request "unlimited" approval for convenience. If that contract is compromised, attackers can drain all your approved tokens. Best practice: approve only the amount needed, or revoke approvals after use (via revoke.cash).
Decimals
ERC-20 tokens typically use 18 decimals (like ETH), but this varies:
- USDC/USDT: 6 decimals (1 USDC = 1,000,000 units)
- WBTC: 8 decimals (matching Bitcoin)
- Most tokens: 18 decimals
Major ERC-20 Tokens
| Token | Type | Market Cap | Use Case |
|---|---|---|---|
| USDT (Tether) | Stablecoin | ~$95B | USD-pegged trading pair |
| USDC (Circle) | Stablecoin | ~$35B | Regulated USD stablecoin |
| LINK (Chainlink) | Utility | ~$10B | Oracle network payments |
| UNI (Uniswap) | Governance | ~$5B | DEX governance voting |
| WETH | Wrapped | N/A | ERC-20 compatible ETH |
3.3 NFT Standards: ERC-721 & ERC-1155
Non-Fungible Tokens (NFTs) represent unique digital assets. Unlike ERC-20 tokens where each unit is identical, each NFT has a distinct identity and can represent ownership of art, collectibles, virtual real estate, or any unique digital item.
ERC-721: The Original NFT Standard
// ERC-721 Key Functions interface IERC721 { // Returns owner of tokenId function ownerOf(uint256 tokenId) external view returns (address); // Transfers NFT from one address to another function transferFrom(address from, address to, uint256 tokenId) external; // Safe transfer with receiver validation function safeTransferFrom(address from, address to, uint256 tokenId) external; // Returns token metadata URI function tokenURI(uint256 tokenId) external view returns (string memory); }
ERC-1155: Multi-Token Standard
ERC-721
- One token type per contract
- Each token is unique
- Higher gas for batch transfers
- Simpler implementation
- Best for: Art, PFPs, unique items
ERC-1155
- Multiple token types per contract
- Mix of fungible + non-fungible
- Batch transfer support
- More complex implementation
- Best for: Gaming, editions, bundles
NFT Metadata
NFT metadata (name, description, image) is stored off-chain due to blockchain storage costs:
| Storage Method | Pros | Cons |
|---|---|---|
| IPFS | Decentralized, content-addressed | Needs pinning to stay available |
| Arweave | Permanent, one-time payment | Higher upfront cost |
| Centralized (AWS) | Cheap, fast, reliable | Single point of failure |
| On-chain | Fully decentralized | Very expensive, limited size |
When evaluating NFT purchases, check metadata storage. If the tokenURI points to a regular HTTP URL, the image could disappear if that server goes offline. IPFS or Arweave storage provides better permanence guarantees.
3.4 Cross-Chain Token Standards
As the multi-chain ecosystem expanded, token standards emerged on other blockchains - often derived from or compatible with Ethereum's standards. Understanding these standards is essential for operating in today's interconnected blockchain landscape.
BEP-20 (BNB Chain)
- Lower fees: ~$0.10 vs Ethereum's $2-20
- Faster blocks: 3 seconds vs Ethereum's 12
- Less decentralized: Only 21 validators
- Major tokens: BUSD, CAKE, XVS
SPL Tokens (Solana)
Solana uses a different architecture - the Solana Program Library (SPL) for tokens:
- Account model: Tokens are stored in associated token accounts
- Rent: Accounts require minimum balance to exist
- Very low fees: ~$0.00025 per transaction
- Major tokens: USDC-SPL, Raydium (RAY), Marinade (MNDE)
Wrapped Tokens
| Wrapped Token | Underlying | Chain | Custodian |
|---|---|---|---|
| WBTC | Bitcoin | Ethereum | BitGo (custodial) |
| WETH | ETH | Ethereum | Contract (trustless) |
| renBTC | Bitcoin | Multiple | RenVM (semi-trustless) |
| stETH | Staked ETH | Ethereum | Lido (liquid staking) |
Cross-chain bridges have been the source of the largest DeFi hacks: Ronin ($625M), Wormhole ($320M), Nomad ($190M). Wrapped tokens introduce custodial/bridge risk beyond the underlying asset's risk.
3.5 Regulatory Classification
Token classification has significant legal implications. The same token may be classified differently in different jurisdictions, creating a complex compliance landscape for issuers and investors.
Security vs Utility Token
Security Token
- Represents investment contract
- Expectation of profit from others' efforts
- Subject to securities law (SEC, SEBI)
- Must register or qualify for exemption
- Examples: Tokenized equity, profit-sharing
Utility Token
- Provides access to service/platform
- Consumptive use case
- May avoid securities regulation
- Still subject to consumer protection
- Examples: FIL (storage), BAT (ads)
Indian Regulatory Position
India treats cryptocurrencies as "Virtual Digital Assets" (VDAs) under the Finance Act 2022:
- Not legal tender: RBI circular (2018) restricting bank services was struck down by Supreme Court (2020)
- Taxable as VDA: 30% flat tax on gains, no deductions except acquisition cost
- 1% TDS: On transfers above threshold (Section 194S)
- No specific token classification: All VDAs treated similarly for tax purposes
- Pending legislation: Comprehensive crypto regulation bill still under discussion
Global Approaches
| Jurisdiction | Approach | Key Framework |
|---|---|---|
| United States | Enforcement-based | Howey Test, SEC enforcement actions |
| European Union | Comprehensive regulation | MiCA (Markets in Crypto-Assets) |
| Singapore | Activity-based | Payment Services Act |
| Japan | Licensed exchanges | Payment Services Act, FSA oversight |
| India | Taxation without regulation | Finance Act 2022, pending crypto bill |
When advising on token launches, always conduct a jurisdiction-by-jurisdiction analysis. A token may be a utility in Singapore but a security in the US. Geographic restrictions and investor accreditation may be required.
Key Takeaways
- Coins have their own blockchain; tokens are built on existing chains using smart contracts
- ERC-20 defines 6 functions and 3 events - the standard interface enabling DeFi composability
- The approve/transferFrom pattern enables contracts to spend tokens but creates unlimited approval risks
- ERC-721 is for unique NFTs; ERC-1155 supports both fungible and non-fungible in one contract
- NFT metadata is usually stored off-chain - check IPFS/Arweave vs centralized hosting
- BEP-20 is ERC-20 compatible on BNB Chain; SPL tokens use Solana's different architecture
- Wrapped tokens introduce bridge/custodial risk - major hack vector in DeFi
- India taxes all VDAs at 30% without distinguishing security vs utility tokens