Retro & Nostalgic Natural Language Intents
Intendo-64 is a unique DeFi interaction platform that combines the nostalgia of retro gaming with modern DeFi capabilities. It features a natural language interface that allows users to execute complex DeFi operations through natural language as text or voice commands. It enhances the UX of the web3 ecosystem in a fun way while being on-chain & verifiable.
- Voice command recognition for DeFi operations
- Text-based intent input with auto-suggestions
- Real-time voice-to-text conversion
- Mobile and desktop browser support
- Uniswap: Token swaps with slippage control, real-time tracking, major ERC-20 support.
- Aave: Lending, borrowing (variable/stable rates), deposit, withdrawal, repayment.
- Generic: ETH/ERC-20 transfers, transaction monitoring, real-time activity logging.
- Retro design, responsive elements, real-time updates.
- Dynamic loading, pixel-perfect styling, interactive suggestions.
- Live activity feed.
- Base contract:
Intendo.sol
- Protocol integrations:
UniswapSolver.sol
: For Uniswap related operationsAaveSolver.sol
: For Aave related operations
Note: The protocol solver integrations currently mock the actual protocol interactions due to unavailability of deployments on holesky of these protocols.
- Built with React + TypeScript
- Voice recognition integration
- Web3 integration with wagmi
- Tailwind CSS for styling
- Real-time contract event monitoring
The co-processor logic is built on Cartesi Machine and handles the natural language processing of user intents. It:
- Processes and analyzes the commands using NLP
- Extracts DeFi operation parameters and validates them
- Converts natural language intents into executable operations
- Provides real-time feedback on intent parsing status
graph TD
U[User] --> |Voice/Text Intent| F[Frontend]
F --> |Intent Data| SC[Smart Contracts]
SC --> |Execution| C[Cartesi Co-Processor]
C --> |Processed Intent| SC
SC --> |DeFi Interaction| P1[Uniswap]
SC --> |DeFi Interaction| P2[Aave]
SC --> |Token Transfer| P3[ERC20/Native]
SC --> |Events| F
- User provides intent through voice or text
- Frontend processes and validates the input
- Intent is sent to Cartesi Rollups for processing
- Smart contracts execute the corresponding DeFi operations
- Events are emitted and displayed in the UI
- Real-time updates are shown in the activity feed
intendo-64/
├── frontend/ # React frontend application
├── contracts/ # Solidity smart contracts
├── co-processor/ # Cartesi machine implementation
└── README.md # Project documentation
Here are some example commands you can try:
"swap 5 ETH for USDC with 0.5% slippage"
"borrow 1000 USDC from Aave with variable rate"
"deposit 2 ETH into Aave"
"withdraw 500 USDC from Aave"
"repay 1000 USDT to Aave"
"transfer 1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
Each command can be input either through voice recognition or text input.
Make sure you have anvil from foundry installed. After that, run the following command:
$ anvil
Make sure you have nonodox installed. After that, run the following command:
$ nonodox
Make sure the .env
file is filled with the correct values, take reference from the .env.example
files. After that, run the following command:
$ cd contracts && forge script script/Intendo.s.sol --broadcast --rpc-url http:\\127.0.0.1:8545
$ cd co-processor && yarn run start
$ cd frontend && npm run start
After that, you can access the frontend at http://localhost:5173