unifai

star 8

Unifai CLI for searching and invoking services across DeFi, token data, social media, web search, news, travel, sports, and more.

modbender By modbender schedule Updated 3/6/2026

name: unifai

description: Unifai CLI for searching and invoking services across DeFi, token data, social media, web search, news, travel, sports, and more.

allowed-tools: Bash(unifai:*)

version: 1.0.0

metadata:

openclaw:

requires:

  env:

    - UNIFAI_AGENT_API_KEY

  bins:

    - unifai

primaryEnv: UNIFAI_AGENT_API_KEY

emoji: "🦄"

homepage: https://github.com/unifai-network/unifai-cli

install:

  - kind: brew

    tap: unifai-network/homebrew-unifai-cli

    formula: unifai

    bins: [unifai]

unifai

A CLI for searching and invoking services on the Unifai network. Supports 40+ services across DeFi, token data, social media, web search, news, travel, sports, and utilities.

What it does

unifai enables you to:

  • Search services: Find services and actions using natural language queries

  • Invoke services: Execute actions with customizable parameters and retry logic

  • Manage configuration: Configure API keys with multiple priority levels

Available service categories

  • DeFi: Swap, lend, borrow, provide liquidity (Aave, Uniswap, Jupiter, Meteora, Pendle, Compound, 1inch, and more)

  • Token & market data: Prices, OHLCV, security analysis (Birdeye, CoinGecko, DexScreener, DefiLlama, GoPlusSecurity)

  • Wallet & chain data: Token balances across Solana, Ethereum, Base, BSC, Polygon

  • Social media: Twitter/X search, user timelines, tweet threads

  • Web search & news: General search, Google news, financial data (SerpAPI, Tavily)

  • Travel: Flight and hotel search

  • Sports: NBA scores, soccer results (ESPN)

  • Utilities: Math, time, domain availability, Solana rent reclaimer

Installation

Homebrew


brew update

brew tap unifai-network/homebrew-unifai-cli

brew install unifai

unifai version

Authentication

API key source priority (highest to lowest):

  1. Command-line flag: --api-key

  2. Environment variable: UNIFAI_AGENT_API_KEY

  3. Config file: ~/.config/unifai-cli/config.yaml

Note: Setting UNIFAI_AGENT_API_KEY as an environment variable is recommended. The config file works too, but OpenClaw's skill check only detects the environment variable.

Initialize Configuration

Generate a config template:


unifai config init

Show effective configuration:


unifai config show

Usage Examples

Search for Services

Search for services using natural language:


# DeFi

unifai search --query "swap usdc to sol"



# Token data

unifai search --query "get bitcoin price"



# Social media

unifai search --query "search twitter for AI news"



# Travel

unifai search --query "find flights from NYC to London"



# With pagination

unifai search --query "lending protocols" --limit 10 --offset 0



# Include specific actions

unifai search --query "defi protocols" --include-actions action1,action2

Invoke Services

Execute actions with JSON payloads:


# Inline JSON payload

unifai invoke --action "Meteora--29--swap" --payload '{"amount":100}'



# Read payload from file

unifai invoke --action "MyAction--1--execute" --payload @payload.json



# With custom retries and timeout

unifai invoke --action "MyAction--1--execute" --payload '{"x":1}' --max-retries 3 --timeout 60s

Tip: Parameter names vary by action (e.g., SerpAPI uses q, Twitter uses query). Use unifai search --query "..." --json to see the expected payload schema for each action before invoking.

Payload Formats

unifai supports flexible payload handling:

  • auto (default): Parses valid JSON as object, otherwise treats as string

  • object: Forces JSON object parsing

  • string: Sends payload as raw string


# Force object parsing

unifai invoke --action "MyAction" --payload '{"key":"value"}' --payload-format object



# Force string parsing

unifai invoke --action "MyAction" --payload "raw text" --payload-format string

Output Formats


# Human-readable output (default)

unifai search --query "swap tokens"



# JSON output for scripting

unifai search --query "swap tokens" --json

Configuration

Config File Location

~/.config/unifai-cli/config.yaml

Example Configuration


apiKey: your-unifai-api-key

Retry and Timeout Behavior

  • Default max retries: 1

  • Retry strategy: Exponential backoff (1s, 2s, 4s, ...)

  • Default timeout: 50s

  • Retry conditions: Network failures and HTTP 5xx errors

Exit Codes

  • 0: Success

  • 1: API or runtime error

  • 2: Argument or usage error

Common Use Cases

Swap Tokens on Solana


unifai search --query "swap usdc to sol on solana"

unifai invoke --action "Meteora--29--swap" --payload '{"fromToken":"USDC","toToken":"SOL","amount":100}'

Search Twitter


unifai search --query "search tweets"

unifai invoke --action "Twitter--68--searchTweets" --payload '{"query":"AI agents","type":"Top"}' --json

Search Flights


unifai search --query "find flights"

unifai invoke --action "SerpAPI--21--flightSearch" --payload '{"departure_id":"SFO","arrival_id":"JFK","outbound_date":"2026-04-01","type":2}' --json

Search Hotels


unifai search --query "find hotels"

unifai invoke --action "SerpAPI--21--hotelSearch" --payload '{"q":"hotels in Tokyo","check_in_date":"2026-04-01","check_out_date":"2026-04-03"}' --json

NBA Scores


unifai search --query "NBA scores"

unifai invoke --action "ESPN--176--RetrieveNBAScoreboard" --payload '{"dates":"20260301"}' --json

Security Model

  • No private keys are sent to the API. The UNIFAI_AGENT_API_KEY authenticates requests but does not grant custody of any wallet or funds.

  • On-chain transactions require local signing. When you invoke a DeFi action (swap, lend, etc.), the API returns an unsigned transaction and a link (e.g., https://tx.unifai.network/tx/...). You must open the link, review the transaction, and sign it with your own wallet. Nothing executes on-chain without your explicit approval.

  • Read-only actions return data directly. Searches, price lookups, Twitter queries, and other non-transactional actions return results inline with no signing step.

When to Use This Skill

Use unifai when you need to:

  • Search for services and actions across 40+ integrated providers

  • Execute DeFi transactions (swap, lend, borrow, provide liquidity)

  • Look up token prices, security data, or market analytics

  • Search Twitter/X or fetch user timelines

  • Search the web, news, or financial data

  • Find flights, hotels, or sports scores

  • Check wallet balances across multiple chains

  • Integrate any of the above into scripts and automation workflows

Advanced Features

Custom Timeouts


unifai invoke --action "LongRunning--1--process" --payload '{}' --timeout 120s

Retry Configuration


unifai invoke --action "Unreliable--1--call" --payload '{}' --max-retries 5

API Key Override


unifai search --query "test" --api-key temporary-key-123

Troubleshooting

Check Configuration


unifai config show

This displays the effective configuration and shows which source (flag, env, or file) is being used.

Verify Installation


unifai version

Test API Connectivity


unifai search --query "test" --json

Additional Resources

Install via CLI
npx skills add https://github.com/modbender/skill-library-mcp --skill unifai
Repository Details
star Stars 8
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator