- β¨ Overview
- π Tech Stack
- π Prerequisites
- π Quick Start
- π Supported Networks
- π Features
- ποΈ Architecture
- π€ Contributing
- π Troubleshooting
- π License
- π Acknowledgments
AgentDOT is a cutting-edge Next.js 15 application that seamlessly integrates AI capabilities with the Polkadot blockchain ecosystem. Built with modern web technologies and a focus on user experience, it delivers intelligent blockchain interactions through an intuitive, responsive interface.
- π€ AI-Powered Interactions β Intelligent blockchain agent actions and recommendations
- β‘ Next.js 15 App Router β Modern server components, streaming, and optimized routing
- π TypeScript β Type-safe, maintainable, and scalable codebase
- π Multi-Chain Support β Polkadot, Edgeware, Westend, and more
- π° DeFi Functionality β Staking, nomination pools, and yield optimization
- π XCM Transfers β Seamless cross-chain asset transfers
- π± Responsive Design β Mobile-first approach with modern UI/UX
- π Wallet Integration β Support for major Polkadot wallets
- π¨ Modern UI Components β Built with Tailwind CSS and custom components
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 15.4.6 | React framework with App Router |
| React | 19.1.1 | UI library with latest features |
| TypeScript | 5.9.2 | Type-safe JavaScript |
| Tailwind CSS | 4.1.11 | Utility-first CSS framework |
| Technology | Version | Purpose |
|---|---|---|
| polkadot-api | 1.15.4 | Polkadot JavaScript API |
| @polkadot/util | 13.5.4 | Polkadot utilities |
| @paraspell/sdk | 10.11.7 | XCM transfer SDK |
| Technology | Version | Purpose |
|---|---|---|
| Vercel AI SDK | 5.0.8 | AI integration framework |
| @ai-sdk/react | 2.0.8 | React AI components |
| @ai-sdk/openai | 2.0.7 | OpenAI integration |
| Technology | Version | Purpose |
|---|---|---|
| pnpm | Workspace | Fast package manager |
| ESLint | 9.33.0 | Code linting |
| Prettier | 3.6.2 | Code formatting |
| Husky | 9.1.7 | Git hooks |
Before starting, ensure you have:
- Node.js v22.15.1 or higher
- pnpm v9+ (recommended package manager)
- Git for version control
π‘ Pro Tip: Use a Node version manager like
nvmorfnmto easily switch between Node.js versions.
We recommend using a Node version manager:
Using nvm (Node Version Manager):
# Install nvm (if not already installed)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Install and use Node.js v22.15.1
nvm install 22.15.1
nvm use 22.15.1Using fnm (Fast Node Manager):
# Install fnm (if not already installed)
curl -fsSL https://fnm.vercel.app/install | bash
# Install and use Node.js v22.15.1
fnm install 22.15.1
fnm use 22.15.1# Install pnpm globally
npm install -g pnpm
# Verify installation
pnpm --versiongit clone https://github.com/edgeware-network/agent-dot.git
cd agent-dot# Using pnpm (recommended)
pnpm install
# Or using npm
npm install
# Or using yarn
yarn installCreate a .env.local file in the root directory:
cp .env.example .env.localEdit .env.local with your configuration:
# OpenAI API Key (required for AI features)
OPENAI_API_KEY=your_openai_api_key_here
# Database URL (if using external database)
DATABASE_URL=your_database_url_here
# Other configuration variables
NEXT_PUBLIC_APP_NAME=AgentDOT# Using pnpm
pnpm dev
# Or using npm
npm run dev
# Or using yarn
yarn devOpen http://localhost:3000 in your browser to see the application.
# Build the application
pnpm build
# Start production server
pnpm startAgentDOT supports multiple Polkadot networks and parachains:
| Network | Type | Status | Features |
|---|---|---|---|
| Polkadot | Mainnet | β Active | Full functionality |
| Westend | Testnet | β Active | Testing & development |
| Paseo | Testnet | β Active | Testing & development |
AgentDOT features a comprehensive suite of intelligent agents that handle various blockchain operations:
- Account Discovery β Automatically detect and manage connected wallet accounts
- Network Switching β Seamlessly switch between Polkadot networks (Polkadot, Edgeware, Westend, Paseo)
- Balance Monitoring β Real-time balance checking across multiple networks
- Active Account Management β Set and manage active accounts for transactions
- Token Transfers β Execute native token transfers on any supported network
- Address Validation β Automatic SS58 address validation for security
- Transaction Preparation β Prepare and confirm transfers with proper error handling
- Multi-Token Support β Transfer DOT, WND, PAS, and other network tokens
- Bonding Operations β Bond tokens for staking with configurable reward destinations
- Validator Nomination β Nominate trusted validators for optimal staking rewards
- Unbonding Management β Manage unbonding periods and withdrawal schedules
- Multi-Network Support β Staking operations across Polkadot, Westend, and Paseo
- Reward Configuration β Configure where staking rewards are sent (re-bond, stash, controller, or specific account)
- Pool Participation β Join existing nomination pools with minimal token requirements
- Additional Bonding β Add more tokens to increase staking rewards
- Reward Restaking β Automatically re-stake accumulated rewards
- Pool Management β Unbond from pools when needed
- Minimum Bond Requirements β Network-specific minimum bond amounts enforced
- Cross-Chain Transfers β Teleport tokens between different Polkadot networks
- Asset Hub Integration β Seamless transfers to and from Asset Hub parachains
- Network Discovery β Automatically detect available system and relay chains
- Asset Support Validation β Verify asset compatibility before transfers
- Multi-Token XCM β Support for DOT, WND, and PAS cross-chain transfers
- Multi-Wallet Support β Talisman, Polkadot.js, SubWallet, and more
- Account Management β Easy account switching and management
- Security Features β Secure transaction signing and validation
- SS58 Address Validation β Built-in address format verification
| Command | Description |
|---|---|
pnpm dev |
Start development server with Turbopack |
pnpm build |
Build the application for production |
pnpm start |
Start production server |
pnpm lint |
Run ESLint for code quality |
pnpm format |
Check code formatting with Prettier |
pnpm format:fix |
Fix code formatting issues |
pnpm tsc |
Run TypeScript type checking |
| Command | Description |
|---|---|
pnpm db:generate |
Generate new database migrations |
pnpm db:migrate |
Run database migrations |
pnpm db:push |
Push schema changes to database |
pnpm db:pull |
Pull database schema |
agent-dot/
βββ app/ # Next.js 15 App Router
β βββ (chat)/ # Chat interface routes
β βββ api/ # API routes
β βββ globals.css # Global styles
βββ agents/ # AI agent implementations
β βββ tools/ # Agent tools and utilities
β βββ index.ts # Agent exports
βββ components/ # Reusable UI components
β βββ ui/ # Base UI components
β βββ account/ # Account-related components
βββ hooks/ # Custom React hooks
βββ lib/ # Utility libraries
βββ providers/ # React context providers
βββ types/ # TypeScript type definitions
We welcome contributions from the community! Here's how you can help:
- Use the GitHub issue tracker
- Include detailed reproduction steps
- Attach relevant logs and screenshots
- Open a feature request issue
- Describe the use case and expected behavior
- Consider contributing the implementation
- Follow TypeScript best practices
- Use Prettier for code formatting
- Follow ESLint rules
- Write meaningful commit messages
We use Conventional Commits:
type(scope): message
Examples:
feat(ui): add new feature
fix(ui): bug fix
docs(readme): documentation changes
style(lint): formatting changes
refactor(hooks): code refactoring
test(app): adding tests
chore(deps): maintenance tasks
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and commit:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style and conventions
- Add tests for new functionality
- Update documentation as needed
- Ensure all tests pass before submitting
# Clear Next.js cache
rm -rf .next
pnpm install
pnpm dev# Clear pnpm cache
pnpm store prune
pnpm install- Verify your
.env.localconfiguration - Ensure the database is running and accessible
- Check network connectivity
- Verify your OpenAI API key is valid
- Check API rate limits and quotas
- Ensure proper environment variable configuration
- π Check the documentation
- π Search existing issues
- π¬ Join our Discord community
- π§ Contact us at support@agentdot.com
This project is licensed under the MIT License - see the LICENSE file for details.
- Polkadot Community β For the amazing blockchain ecosystem
- Next.js Team β For the incredible React framework
- OpenAI β For powering our AI features
- Contributors β Everyone who has contributed to this project
π Website β’ π¦ Twitter β’ π¬ Discord