learn-moralis
Learn Moralis
Behavior
If the user invokes /learn-moralis with no question (or just says "learn moralis"), respond with a friendly platform overview. Walk them through:
- What Moralis is (enterprise Web3 data platform)
- The two skills available and when to use each:
- @moralis-data-api (136 endpoints) — query wallet balances, tokens, NFTs, DeFi positions, prices, transactions, analytics. Use for "what is the current/historical state?"
- @moralis-streams-api (20 endpoints, EVM only) — real-time EVM event monitoring via webhooks. Use for "notify me when something happens"
- Supported chains: 40+ EVM chains for both skills, Solana for Data API only
- How to get started: set
MORALIS_API_KEYin.env, then use the skill that fits their need
Keep it conversational and concise — think "onboarding tour", not "dump the docs". End by asking what they'd like to build so you can point them to the right skill.
If the user invokes /learn-moralis with a specific question, answer that question directly using the knowledge below, then route them to the appropriate technical skill.
What is Moralis?
Moralis is an enterprise-grade Web3 data infrastructure platform providing:
- Data APIs - Query wallet balances, tokens, NFTs, DeFi positions, prices, transactions
- Streams - Real-time EVM event monitoring via webhooks (EVM chains only, no Solana)
- Datashare - Export historical data to Snowflake, BigQuery, S3
- Data Indexer - Custom enterprise indexing pipelines
- RPC Nodes - Direct blockchain node access
Key Stats: Powers 100M+ end users, 2B+ monthly API requests, 50+ supported chains.
Routing to Technical Skills
After answering a general question, route users to the appropriate skill:
| User Need | Route To |
|---|---|
| Query wallet data (balances, tokens, NFTs, history) | @moralis-data-api |
| Get token prices, metadata, analytics | @moralis-data-api |
| Query NFT metadata, traits, floor prices | @moralis-data-api |
| Get DeFi positions, protocol data | @moralis-data-api |
| Query blocks, transactions | @moralis-data-api |
| Real-time wallet monitoring (EVM) | @moralis-streams-api |
| Real-time contract events (EVM) | @moralis-streams-api |
| Webhooks for EVM on-chain events | @moralis-streams-api |
| Track EVM transfers as they happen | @moralis-streams-api |
Rule of thumb:
- Data API = "What is the current/historical state?"
- Streams = "Notify me when something happens"
Quick Capability Reference
Can Moralis Do This?
| Question | Answer | Skill |
|---|---|---|
| Get wallet token balances? | Yes, with USD prices | @moralis-data-api |
| Get wallet NFTs? | Yes, with metadata | @moralis-data-api |
| Get wallet transaction history? | Yes, decoded | @moralis-data-api |
| Get token prices? | Yes, real-time + OHLCV | @moralis-data-api |
| Get NFT floor prices? | Yes (ETH, Base, Sei) | @moralis-data-api |
| Get DeFi positions? | Yes (major chains) | @moralis-data-api |
| Monitor wallets in real-time? | Yes (EVM only) | @moralis-streams-api |
| Track contract events live? | Yes (EVM only) | @moralis-streams-api |
| Get historical events? | Use Data API queries | @moralis-data-api |
| ENS/Unstoppable domain lookup? | Yes | @moralis-data-api |
| Token security scores? | Yes | @moralis-data-api |
| Detect snipers/bots? | Yes | @moralis-data-api |
| Get trending tokens? | Yes | @moralis-data-api |
| Get top tokens by market cap? | Yes | @moralis-data-api |
| Search tokens by name/symbol? | Yes | @moralis-data-api |
What Moralis Cannot Do
- Execute transactions (read-only APIs)
- Provide private node access (use RPC Nodes product separately)
- Index custom smart contracts (use Data Indexer product)
- Store user data (you handle storage)
- Provide testnet price data (only mainnet prices)
Supported Chains
Full API Support
| Chain | Chain ID | Notes |
|---|---|---|
| Ethereum | 0x1 | All APIs including floor prices |
| Base | 0x2105 | All APIs including floor prices |
| Polygon | 0x89 | Missing only floor prices |
| BSC | 0x38 | No profitability, no floor prices |
| Arbitrum | 0xa4b1 | No profitability, no floor prices |
| Optimism | 0xa | No profitability, no floor prices |
| Avalanche | 0xa86a | No profitability, no floor prices |
| Sei | 0x531 | Nearly full (no profitability), includes floor prices |
| Monad | 0x8f | New chain, good support |
Also Supported
Linea, Fantom, Cronos, Gnosis, Chiliz, Moonbeam, Moonriver, Flow, Ronin, Lisk, Pulse
Solana
Mainnet and Devnet supported via @moralis-data-api only. Streams does not support Solana. Use __solana suffix endpoints.
Coming Soon
Blast, zkSync, Mantle, opBNB, Polygon zkEVM, Zetachain
Pricing Overview
| Plan | Monthly CUs | Throughput | Price |
|---|---|---|---|
| Free | 40K/day | 1,000 CU/s | $0 |
| Starter | 2M | 1,000 CU/s | $49/mo |
| Pro | 100M | 2,000 CU/s | $199/mo |
| Business | 500M | 5,000 CU/s | $490/mo |
| Enterprise | Custom | Custom | Contact |
Compute Units (CUs): Each API call costs CUs based on complexity. Simple queries ~1-5 CUs, complex queries ~10-50 CUs.
Overages: Starter $11.25/M, Pro $5/M, Business $4/M
Free tier includes: All APIs (Wallet, Token, NFT, Price, DeFi, Blockchain, Streams)
Getting Started
- Sign up: https://admin.moralis.com/register
- Get API key: Dashboard → API Keys
- Set up
.env: AddMORALIS_API_KEY=your_keyto your.envfile (the skill will help you create it) - Use skill: Ask what you want to build — the skill will check for your key and guide you
Common Use Cases
Wallet/Portfolio Tracker
Need: Display user's tokens, NFTs, balances, and transaction history.
Solution: @moralis-data-api endpoints:
getWalletTokenBalancesPrice- Token balances with pricesgetWalletNFTs- NFT holdingsgetWalletHistory- Decoded transaction historygetWalletNetWorth- Total portfolio value
Crypto Tax/Compliance
Need: Export transaction history with cost basis.
Solution: @moralis-data-api endpoints:
getWalletHistory- All transactions decodedgetWalletProfitability- Realized gains/losses
NFT Marketplace
Need: Display NFT metadata, traits, prices, and ownership.
Solution: @moralis-data-api endpoints:
getNFTMetadata- Full metadata + traitsgetNFTFloorPriceByContract- Floor pricegetNFTOwners- Current holdersgetNFTTrades- Sale history
DeFi Dashboard
Need: Show user's DeFi positions across protocols.
Solution: @moralis-data-api endpoints:
getDefiPositionsSummary- All positionsgetDefiPositionsByProtocol- Protocol-specific data
Trading Bot / Alerts
Need: React to on-chain events in real-time.
Solution: @moralis-streams-api:
- Create stream with
topic0for target events - Receive webhook when event occurs
- Process and act on data
Token Analytics Platform
Need: Token prices, holders, trading volume, security scores.
Solution: @moralis-data-api endpoints:
getTokenPrice- Current pricegetTokenAnalytics- Volume, liquiditygetTokenHolders- Holder distributiongetTokenScore- Security analysis
Data API vs Streams: When to Use
| Scenario | Use |
|---|---|
| Display current wallet balance | Data API |
| Alert when balance changes | Streams |
| Show transaction history | Data API |
| Log every new transaction | Streams |
| Get NFT metadata | Data API |
| Notify on NFT transfer | Streams |
| Query token price | Data API |
| Track DEX swaps live | Streams |
Performance Expectations
Most Data API endpoints respond quickly. However, response times can vary based on:
- Query complexity: Simple lookups (balance, price) are fastest. Decoded endpoints (wallet history, DeFi positions) do more processing.
- Wallet size: Wallets with large transaction histories take longer. Use pagination with smaller limits for whale/power-user wallets.
- Chain: Response times vary across chains. Some chains are inherently slower than others.
Recommended Timeouts
For production applications, set client-side timeouts to 30s to handle edge cases. Most requests return much faster, but large wallets or slower chains can occasionally take longer.
For detailed optimization guidance, see @moralis-data-api → references/PerformanceAndLatency.md.
Reference Documentation
For detailed information:
- references/FAQ.md - Common questions and answers
- references/ProductComparison.md - Detailed feature comparison
- references/UseCaseGuide.md - Implementation patterns by use case
Support Resources
- Docs: https://docs.moralis.com
- Discord: Community support
- Forum: https://forum.moralis.io
- Stack Overflow: Tag
moralis
Next Steps
After answering a question, always suggest the next action:
-
If user needs to query data: "Use @moralis-data-api — make sure your
MORALIS_API_KEYis set in your.envfile, then I can help you fetch the data." -
If user needs real-time events: "Use @moralis-streams-api — make sure your
MORALIS_API_KEYis set in your.envfile and have your webhook URL ready, then I can help set up the stream." -
If user is exploring: Suggest specific endpoints based on their use case.