Swarms Finance Tools Documentation¶
Installation¶
Environment Variables¶
Create a .env
file in your project root with the following variables (as needed):
Environment Variable | Description | Required For |
---|---|---|
COINBASE_API_KEY |
Coinbase API Key | Coinbase Trading |
COINBASE_API_SECRET |
Coinbase API Secret | Coinbase Trading |
COINBASE_API_PASSPHRASE |
Coinbase API Passphrase | Coinbase Trading |
COINMARKETCAP_API_KEY |
CoinMarketCap API Key | CoinMarketCap Data |
HELIUS_API_KEY |
Helius API Key | Solana Data |
EODHD_API_KEY |
EODHD API Key | Stock News |
OKX_API_KEY |
OKX API Key | OKX Trading |
OKX_API_SECRET |
OKX API Secret | OKX Trading |
OKX_PASSPHRASE |
OKX Passphrase | OKX Trading |
Tools Overview¶
Tool | Description | Requires API Key |
---|---|---|
Yahoo Finance | Real-time stock market data | No |
CoinGecko | Cryptocurrency market data | No |
Coinbase | Cryptocurrency trading and data | Yes |
CoinMarketCap | Cryptocurrency market data | Yes |
Helius | Solana blockchain data | Yes |
DexScreener | DEX trading pairs and data | No |
HTX (Huobi) | Cryptocurrency exchange data | No |
OKX | Cryptocurrency exchange data | Yes |
EODHD | Stock market news | Yes |
Jupiter | Solana DEX aggregator | No |
Sector Analysis | GICS sector ETF analysis | No |
Solana Tools | Solana wallet and token tools | Yes |
Detailed Documentation¶
Yahoo Finance API¶
Fetch real-time and historical stock market data.
from swarms_tools.finance import yahoo_finance_api
# Fetch data for single stock
data = yahoo_finance_api(["AAPL"])
# Fetch data for multiple stocks
data = yahoo_finance_api(["AAPL", "GOOG", "MSFT"])
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
stock_symbols | List[str] | List of stock symbols | Yes |
CoinGecko API¶
Fetch comprehensive cryptocurrency data.
from swarms_tools.finance import coin_gecko_coin_api
# Fetch Bitcoin data
data = coin_gecko_coin_api("bitcoin")
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
coin | str | Cryptocurrency ID (e.g., 'bitcoin') | Yes |
Coinbase Trading¶
Execute trades and fetch market data from Coinbase.
from swarms_tools.finance import get_coin_data, place_buy_order, place_sell_order
# Fetch coin data
data = get_coin_data("BTC-USD")
# Place orders
buy_order = place_buy_order("BTC-USD", amount=100) # Buy $100 worth of BTC
sell_order = place_sell_order("BTC-USD", amount=0.01) # Sell 0.01 BTC
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
symbol | str | Trading pair (e.g., 'BTC-USD') | Yes |
amount | Union[str, float, Decimal] | Trade amount | Yes |
sandbox | bool | Use sandbox environment | No |
CoinMarketCap API¶
Fetch cryptocurrency market data from CoinMarketCap.
from swarms_tools.finance import coinmarketcap_api
# Fetch single coin data
data = coinmarketcap_api(["Bitcoin"])
# Fetch multiple coins
data = coinmarketcap_api(["Bitcoin", "Ethereum", "Tether"])
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
coin_names | Optional[List[str]] | List of coin names | No |
Helius API (Solana)¶
Fetch Solana blockchain data.
from swarms_tools.finance import helius_api_tool
# Fetch account data
account_data = helius_api_tool("account", "account_address")
# Fetch transaction data
tx_data = helius_api_tool("transaction", "tx_signature")
# Fetch token data
token_data = helius_api_tool("token", "token_mint_address")
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
action | str | Type of action ('account', 'transaction', 'token') | Yes |
identifier | str | Address/signature to query | Yes |
DexScreener API¶
Fetch DEX trading pair data.
from swarms_tools.finance import (
fetch_dex_screener_profiles,
fetch_latest_token_boosts,
fetch_solana_token_pairs
)
# Fetch latest profiles
profiles = fetch_dex_screener_profiles()
# Fetch token boosts
boosts = fetch_latest_token_boosts()
# Fetch Solana pairs
pairs = fetch_solana_token_pairs(["token_address"])
HTX (Huobi) API¶
Fetch cryptocurrency data from HTX.
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
coin_name | str | Cryptocurrency symbol | Yes |
OKX API¶
Fetch cryptocurrency data from OKX.
from swarms_tools.finance import okx_api_tool
# Fetch single coin
data = okx_api_tool(["BTC-USDT"])
# Fetch multiple coins
data = okx_api_tool(["BTC-USDT", "ETH-USDT"])
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
coin_symbols | Optional[List[str]] | List of trading pairs | No |
EODHD Stock News¶
Fetch stock market news.
from swarms_tools.finance import fetch_stock_news
# Fetch news for a stock
news = fetch_stock_news("AAPL")
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
stock_name | str | Stock symbol | Yes |
Jupiter (Solana DEX)¶
Fetch Solana DEX prices.
from swarms_tools.finance import get_jupiter_price
# Fetch price data
price = get_jupiter_price(input_mint="input_token", output_mint="output_token")
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
input_mint | str | Input token mint address | Yes |
output_mint | str | Output token mint address | Yes |
Sector Analysis¶
Analyze GICS sector ETFs.
from swarms_tools.finance.sector_analysis import analyze_index_sectors
# Run sector analysis
analyze_index_sectors()
Solana Tools¶
Check Solana wallet balances and manage tokens.
from swarms_tools.finance import check_solana_balance, check_multiple_wallets
# Check single wallet
balance = check_solana_balance("wallet_address")
# Check multiple wallets
balances = check_multiple_wallets(["wallet1", "wallet2"])
Arguments:
Parameter | Type | Description | Required |
---|---|---|---|
wallet_address | str | Solana wallet address | Yes |
wallet_addresses | List[str] | List of wallet addresses | Yes |
Complete Example¶
Here's a comprehensive example using multiple tools:
from swarms_tools.finance import (
yahoo_finance_api,
coin_gecko_coin_api,
coinmarketcap_api,
fetch_htx_data
)
# Fetch stock data
stocks = yahoo_finance_api(["AAPL", "GOOG"])
print("Stock Data:", stocks)
# Fetch crypto data from multiple sources
bitcoin_cg = coin_gecko_coin_api("bitcoin")
print("Bitcoin Data (CoinGecko):", bitcoin_cg)
crypto_cmc = coinmarketcap_api(["Bitcoin", "Ethereum"])
print("Crypto Data (CoinMarketCap):", crypto_cmc)
btc_htx = fetch_htx_data("BTC")
print("Bitcoin Data (HTX):", btc_htx)
Error Handling¶
All tools include proper error handling and logging. Errors are logged using the loguru
logger. Example error handling:
from loguru import logger
try:
data = yahoo_finance_api(["INVALID"])
except Exception as e:
logger.error(f"Error fetching stock data: {e}")
Rate Limits¶
Please be aware of rate limits for various APIs: - CoinGecko: 50 calls/minute (free tier) - CoinMarketCap: Varies by subscription - Helius: Varies by subscription - DexScreener: 300 calls/minute for pairs, 60 calls/minute for profiles - Other APIs: Refer to respective documentation
Dependencies¶
The package automatically handles most dependencies, but you may need to install some manually: