Connect AI to DeFi and Wallets
Edwin is a TypeScript SDK giving AI agents a unified, type-safe interface to DeFi protocols for lending, liquidity, and cross-chain calls.
0.8.53Add to Favorites
Why it matters
Enable AI agents to securely interact with Decentralized Finance (DeFi) protocols and manage cryptocurrency wallets across EVM and Solana blockchains.
Outcomes
What it gets done
Perform wallet operations including balance checking and token transfers.
Sign transactions and interact with smart contracts on EVM and Solana.
Integrate with Edwin SDK for standardized protocol access.
Source
Get it from source
Spark does not host a copy of it.
Open sourceReports
Agent outcome reports
No reports yet
Capabilities
Tools your agent gets
Perform wallet operations on EVM and Solana blockchains
Check wallet balances across supported blockchains
Sign transactions for blockchain operations
Transfer tokens between wallet addresses
Interact with smart contracts on EVM and Solana
Overview
Edwin MCP Server
Edwin is a TypeScript SDK that gives AI agents a unified, type-safe interface to DeFi protocols for lending, liquidity provision, and cross-chain operations, abstracting away blockchain-specific implementation details. Use it when building an AI agent that needs to transact against DeFi protocols through one consistent SDK rather than integrating each protocol separately.
What it does
Edwin is a TypeScript library that acts as a bridge between AI agents and DeFi protocols. It gives an agent a single, type-safe interface for interacting with DeFi rather than requiring a separate integration for each protocol, abstracting away the underlying blockchain operations and protocol-specific implementation details. The project describes itself as "the DeFAI Layer" - infrastructure for building DeFAI (DeFi plus AI) agents.
When to use - and when NOT to
Reach for Edwin when you are building an AI agent that needs to read from or transact against DeFi protocols - lending markets, liquidity pools, or cross-chain flows - and you want one consistent SDK surface instead of wiring up each protocol's own client library. It is not the right fit if your agent only needs passive, read-only market data with no need to hold or move funds, since Edwin's value is specifically in the transaction layer.
Capabilities
- Lending and borrowing operations, such as supplying assets to a protocol like Aave
- Liquidity provision
- Cross-chain support
- Type-safe protocol interactions
- AI-friendly templates for agent integration
Quick-start example from the source, supplying USDC to Aave on the Base chain:
import { EdwinEVMWallet, AaveService } from 'edwin-sdk';
const wallet = new EdwinEVMWallet(evmPrivateKey as `0x${string}`);
const aave = new AaveService(wallet);
const result = await aave.supply({
chain: 'base',
amount: 0.05,
asset: 'usdc',
});
How to install
Install the SDK with pnpm:
pnpm install edwin-sdk
Full documentation, including a plugin integration guide for developers adding new protocol support, is published at docs.edwin.finance.
Who it's for
Developers building AI agents that need to transact on DeFi protocols - lending, liquidity provision, or cross-chain operations - through a single, type-safe SDK rather than protocol-by-protocol integration work. It is released under the GPL License.
Source README
edwin 🦉 - The DeFAI Layer
Edwin is a TypeScript library that serves as the bridge between AI agents and DeFi protocols. It provides a unified, secure interface for AI agents to interact with various DeFi protocols while abstracting away the complexity of blockchain operations and protocol-specific implementations. This enables the creation of sophisticated DeFAI agents.
Installation
pnpm install edwin-sdk
Features
- Lending/Borrowing operations
- Liquidity provision
- Cross-chain support
- Type-safe protocol interactions
- AI-friendly templates
Quick Start
// Import the required wallet and services
import { EdwinEVMWallet, AaveService } from 'edwin-sdk';
// Configure Edwin wallets and services
const wallet = new EdwinEVMWallet(evmPrivateKey as `0x${string}`);
const aave = new AaveService(wallet);
// Supply tokens to a lending protocol
const result = await aave.supply({
chain: 'base',
amount: 0.05,
asset: 'usdc',
});
Documentation
For detailed documentation, visit docs.edwin.finance
For developers interested in creating plugins, check out our Plugin Integration Guide.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.