Compass LangChain Toolkit
Interact with various DeFi protocols. Non-custodial.Tools return unsigned transactions. The toolkit is built on top of a Universal DeFi API (Compass API) allowing agents to perform financial operations like:
- Swapping tokens on Uniswap and Aerodrome
- Lending or borrowing assets using protocols on Aave
- Providing liquidity on Aerodrome and Uniswap
- Transferring funds between wallets.
- Querying balances, portfolios and monitoring positions.
Overview
Integration details
Class | Package | Serializable | JS support | Package latest |
---|---|---|---|---|
LangchainCompassToolkit | langchain-compass | ❌ | ❌ |
Tool features
Here’s a sample of the tools this toolkit provides (subject to change daily):
aave_supply
: Supply assets to Aave to earn interest.aave_borrow
: Borrow assets from Aave using collateral.uniswap_swap_sell_exactly
: Swap a specific amount of one token on Uniswap.generic_portfolio_get
: Retrieve a wallet’s portfolio in USD and token balances.generic_transfer_erc20
: Transfer ERC20 tokens between addresses.
Setup
Here we will:
- Install the langchain package
- Import and instantiate the toolkit
- Pass the tools to your agent with
toolkit.get_tools()
Installation
This toolkit lives in the langchain-compass
package:
%pip install -qU langchain-compass
Environment Setup
To run these examples, ensure LangChain has access to an LLM service. For instance, if you're using GPT-4o, create a .env
file containing:
# .env file
OPENAI_API_KEY=<your_openai_api_key_here>
Instantiation
Now we can instantiate our toolkit:
from langchain_compass.toolkits import LangchainCompassToolkit
toolkit = LangchainCompassToolkit(compass_api_key=None)
Tools
View available tools:
tools = toolkit.get_tools()
for tool in tools:
print(tool.name)
# Expected output:
aave_supply
aave_borrow
aave_repay
aave_withdraw
aave_asset_price_get
aave_liquidity_change_get
aave_user_position_summary_get
...