Uniskill uniskill
DeFi Skills for AI Agents on Ethereum/Uniswap v4 - Swaps, Liquidity, Portfolio Management
git clone https://github.com/SHLOK333/Uniskill
skill.mdUniSkill — Uniswap v4 Skills for AI Agents
You have access to DeFi operations on Ethereum Sepolia testnet via the UniSkill API.
Base URL
https://api.uniskill.ai/api/v1
Authentication
Protected endpoints require an API key:
# Option 1: x-api-key header (recommended) curl -H "x-api-key: uniskill_your_api_key_here" ... # Option 2: Authorization header curl -H "Authorization: Bearer uniskill_your_api_key_here" ...
Public Endpoints (no auth)
— Get swap quoteGET /swap/quote
— Find pools by token pairGET /pools/search
— Check wallet balancesGET /wallet/balance
Protected Endpoints (API key required)
— Execute token swapPOST /swap/execute
— Get LP positionsGET /liquidity/positions
— Complete portfolio viewGET /portfolio
Quick Start: Agent Self-Registration
1. Register Your Agent
curl -X POST https://api.uniskill.ai/api/v1/agents/register \ -H "Content-Type: application/json" \ -d '{"name": "YourAgentName"}'
Response:
{ "success": true, "agent": { "id": "uuid", "name": "YourAgentName", "wallet": "0x...", "api_key": "uniskill_...", "verified": true }, "network": "Sepolia Testnet", "explorerUrl": "https://sepolia.etherscan.io/address/0x...", "important": "SAVE YOUR API KEY!" }
2. Fund Your Wallet
Get Sepolia ETH from faucet: https://sepoliafaucet.com/
3. Start Trading!
# Get a swap quote curl "https://api.uniskill.ai/api/v1/swap/quote?inputToken=WETH&outputToken=USDC&amount=0.1" # Check your portfolio curl -H "x-api-key: uniskill_..." https://api.uniskill.ai/api/v1/portfolio
Available Functions
Swaps
Get Quote
GET /swap/quote?inputToken=WETH&outputToken=USDC&amount=0.1&fee=3000
Parameters:
— Token symbol or address (WETH, USDC, etc.)inputToken
— Token symbol or addressoutputToken
— Amount in human-readable formatamount
— Optional fee tier (500, 3000, 10000)fee
Response:
{ "success": true, "quote": { "inputAmount": "0.1", "outputAmount": "200.5", "priceImpact": "0.01", "gasEstimate": "150000", "route": ["0x...", "0x..."] } }
Execute Swap (Protected)
POST /swap/execute { "inputToken": "WETH", "outputToken": "USDC", "amount": "0.1", "slippageBps": 50 }
Liquidity Management
Get Positions (Protected)
GET /liquidity/positions
Returns all LP positions for your agent wallet.
Response:
{ "success": true, "positions": [ { "tokenId": "123", "token0": "0x...", "token1": "0x...", "fee": 3000, "feeTier": "0.3%", "liquidity": "1000000", "tokensOwed0": "100", "tokensOwed1": "200" } ] }
Pool Operations
Search Pools
GET /pools/search?token0=WETH&token1=USDC
Finds all Uniswap v4 pools for a token pair across different fee tiers.
Response:
{ "success": true, "pools": [ { "token0": "0x...", "token1": "0x...", "fee": 3000, "feeTier": "0.3%", "liquidity": "5000000", "tick": 12345 } ] }
Portfolio
Get Complete Portfolio (Protected)
GET /portfolio
Returns ETH balance, token balances, and LP positions.
Response:
{ "success": true, "agent": { "id": "agent_...", "name": "MyAgent", "wallet": "0x..." }, "portfolio": { "eth": { "balance": "1.5", "symbol": "ETH" }, "tokens": [ { "symbol": "USDC", "address": "0x...", "balance": "500.0" } ], "liquidityPositions": [...] } }
Wallet Operations
Check Balance
GET /wallet/balance?wallet=0x...
Returns ETH and token balances for any wallet.
Common Token Addresses (Sepolia)
| Token | Address |
|---|---|
| WETH | 0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9 |
| USDC | 0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238 |
| USDT | 0xaA8E23Fb1079EA71e0a56F48a2aA51851D8433D0 |
| DAI | 0x68194a729C2450ad26072b3D33ADaCbcef39D574 |
Workflow Examples
Simple Swap
# 1. Get quote curl "https://api.uniskill.ai/api/v1/swap/quote?inputToken=WETH&outputToken=USDC&amount=0.1" # 2. Execute swap (requires API key) curl -X POST https://api.uniskill.ai/api/v1/swap/execute \ -H "x-api-key: uniskill_..." \ -H "Content-Type: application/json" \ -d '{"inputToken":"WETH","outputToken":"USDC","amount":"0.1","slippageBps":50}'
Check Portfolio
curl -H "x-api-key: uniskill_..." https://api.uniskill.ai/api/v1/portfolio
Find Best Pool
curl "https://api.uniskill.ai/api/v1/pools/search?token0=WETH&token1=USDC"
Natural Language Commands
AI agents can use natural language to interact:
- "swap 0.1 ETH for USDC" →
POST /swap/execute - "get quote for 100 USDC to WETH" →
GET /swap/quote - "show my portfolio" →
GET /portfolio - "what are my liquidity positions?" →
GET /liquidity/positions - "find WETH/USDC pools" →
GET /pools/search - "check balance of 0x..." →
GET /wallet/balance
Network Information
- Network: Ethereum Sepolia Testnet
- Chain ID: 11155111
- Explorer: https://sepolia.etherscan.io
- Faucet: https://sepoliafaucet.com
Uniswap v4 Contracts (Sepolia)
- PoolManager: 0xE03A1074c86CFeDd5C142C4F04F1a1536e203543
- Universal Router: 0x3A9D48AB9751398BbFa63ad67599Bb04e4BdF98b
- Position Manager: 0x429ba70129df741B2Ca2a85BC3A2a3328e5c09b4
- Quoter: 0x61b3f2011a92d183c7dbadbda940a7555ccf9227
Error Handling
All endpoints return errors in this format:
{ "success": false, "error": "Error message here" }
Common HTTP status codes:
— Bad request (missing/invalid parameters)400
— Unauthorized (invalid/missing API key)401
— Not found404
— Server error500
Rate Limits
- Public endpoints: 100 requests/minute per IP
- Protected endpoints: 100 requests/minute per API key
- Transaction endpoints: 10 transactions/hour per wallet (safety limit)
Security
- Each agent has its own self-custodial Ethereum wallet
- Private keys are encrypted with AES-256-GCM
- API keys provide full access to agent wallets
- All transactions are logged with Etherscan links
- Spending limits enforced per agent
Support
For issues or questions:
- GitHub: https://github.com/yourusername/uniskill
- Documentation: https://docs.uniskill.ai
- Explorer: https://sepolia.etherscan.io