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.
More from moralisweb3/onchain-skills
moralis-data-api
Query Web3 blockchain data from Moralis API. Use when user asks about wallet data (balances, tokens, NFTs, transaction history, profitability, net worth), token data (prices, metadata, DEX pairs, analytics, security scores), NFT data (metadata, transfers, traits, rarity, floor prices), DeFi positions, entity/label data for exchanges and funds, or block and transaction data. Supports EVM chains (Ethereum, Polygon, BSC, Arbitrum, Base, Optimism, Avalanche, etc.) and Solana. NOT for real-time streaming - use moralis-streams-api instead.
103moralis-streams-api
Real-time blockchain event monitoring with webhooks. Use when user asks about setting up webhooks, real-time event streaming, monitoring wallet addresses, tracking token transfers in real-time, listening to all addresses on a chain, creating/updating/deleting streams, adding/removing addresses from streams, or receiving blockchain events as they happen. Supports all EVM chains. NOT for querying historical or current blockchain state - use moralis-data-api instead.
83