BlockRunAI

blockrun

15
1
# Install this skill:
npx skills add BlockRunAI/blockrun-agent-wallet --skill "blockrun"

Install specific skill from multi-skill repository

# Description

Use when user needs capabilities Claude lacks (image generation, real-time X/Twitter data) or explicitly requests external models ("blockrun", "use grok", "use gpt", "dall-e", "deepseek"). For Antigravity users, also use when credits are exhausted, stuck in refactoring loops, or need a second opinion on Gemini's code.

# SKILL.md


name: blockrun
user-invocable: true
description: Use when user needs capabilities Claude lacks (image generation, real-time X/Twitter data) or explicitly requests external models ("blockrun", "use grok", "use gpt", "dall-e", "deepseek"). For Antigravity users, also use when credits are exhausted, stuck in refactoring loops, or need a second opinion on Gemini's code.
allowed-tools: Read, Bash(python:), Bash(python3:), Bash(pip:), Bash(source:)


BlockRun

BlockRun works with Claude Code and Google Antigravity.

You can't generate images. You have no real-time X/Twitter access. BlockRun gives you these capabilities.

How to Invoke

Users can trigger this skill in two ways:
- Slash command: /blockrun <request> (e.g., /blockrun use grok to analyze @elonmusk)
- Keyword in message: Include "blockrun" or model names (e.g., "blockrun grok find trending crypto", "use grok to check...")

Common triggers: blockrun, use grok, use gpt, dall-e, deepseek, generate image

CRITICAL: Balance Check Before API Calls

You MUST check wallet balance and get user confirmation BEFORE making any paid API call.

Step 1: Check Balance First

from blockrun_llm import setup_agent_wallet

client = setup_agent_wallet()
balance = client.get_balance()
address = client.get_wallet_address()

Step 2: Estimate Cost & Ask User

Before calling any model, show the user:

📊 Wallet Status
   Address: 0x413c...1DC3
   Balance: $0.39 USDC

💰 Estimated Cost
   Grok + Live Search (10 sources): ~$0.25

Proceed? (Balance after: ~$0.14)

Wait for user confirmation before making the API call.

Step 3: Handle Insufficient Balance

If balance is too low, show a friendly message:

⚠️ Insufficient balance for this operation.

Current: $0.05 USDC
Required: ~$0.25 (Grok + Live Search)

To fund your wallet, send USDC on Base to:
0x413c7846194698829F8605C631c06c91B7B71DC3

Would you like to:
1. Use fewer search sources (~$0.13 for 5 sources)
2. Try a cheaper model (DeepSeek ~$0.001)

Cost Reference for Confirmation

Operation Estimated Cost
Grok + Live Search (10 sources) ~$0.25
Grok + Live Search (5 sources) ~$0.13
GPT-5.2 query (typical) ~$0.02
DeepSeek query ~$0.001
DALL-E image $0.04

Output Guidelines

Keep it clean. The user wants results, not process.

  • Hide retries - If an API call fails and you retry, don't show the error. Just retry silently and show the final result.
  • No stack traces - If something fails, summarize the error in one sentence. Don't dump tracebacks.
  • Concise results - For balance checks: just show wallet address and balance. For X/Twitter: summarize the findings, don't show raw API responses.
  • Show cost at the end - After BlockRun operations, show what was spent: Cost: $0.28

Example good output:

@BlockRunAI Twitter Summary:
- Recent focus: Circle partnership, Grok integration, website redesign
- Top post: Circle announcement (1,637 views, 26 likes)
- Assessment: Active development, growing visibility

Cost: $0.28

Example bad output:

Error: Exit code 1
Traceback (most recent call last):
  File "<string>", line 31...
[retrying with different RPC]
[still failing, trying another]
...

Philosophy

You have a wallet. When you need a capability you lack, you pay for it autonomously.

You Need You Call Pricing
Image generation DALL-E $0.04/image
Real-time X data Grok + Live Search $0.025/source
Second opinion GPT-5.2 $1.75/M input, $14/M output
Cheaper processing DeepSeek $0.14/M input, $0.28/M output

How it works: BlockRun uses x402 micropayments to route your requests to OpenAI, xAI, Google, and other providers. No API keys needed - your wallet pays per token.

Budget Control (Optional)

If the user specifies a budget (e.g., "use at most $1"), track spending and stop when budget is reached:

from blockrun_llm import setup_agent_wallet

client = setup_agent_wallet()
budget = 1.0  # User's budget

# Before each call, check if within budget
spending = client.get_spending()
if spending['total_usd'] >= budget:
    print(f"Budget reached: ${spending['total_usd']:.4f} spent")
    # Stop making calls
else:
    response = client.chat("openai/gpt-5.2", "Hello!")

# At the end, report spending
spending = client.get_spending()
print(f"💰 Total spent: ${spending['total_usd']:.4f} across {spending['calls']} calls")

When to Use

Trigger Your Action
User explicitly requests ("blockrun second opinion with GPT on...", "use grok to check...", "generate image with dall-e") Execute via BlockRun
User needs something you can't do (images, live X data) Suggest BlockRun, wait for confirmation
You can handle the task fine Do it yourself, don't mention BlockRun

Antigravity-Specific Triggers

Trigger Your Action
Antigravity credits exhausted / rate limited Suggest BlockRun to continue working with DeepSeek or GPT
Gemini stuck in refactoring loop (repeated edits, no progress) Call GPT or Claude via BlockRun to break the cycle
User wants code review on Gemini's output Call GPT or Claude for a second opinion
Complex build failing with Gemini Suggest external model review before continuing

Example User Prompts

Users will say things like:

User Says What You Do
"blockrun generate an image of a sunset" Call DALL-E via ImageClient
"use grok to check what's trending on X" Call Grok with search=True
"blockrun GPT review this code" Call GPT-5.2 via LLMClient
"what's the latest news about AI agents?" Suggest Grok (you lack real-time data)
"generate a logo for my startup" Suggest DALL-E (you can't generate images)
"blockrun check my balance" Show wallet balance via get_balance()
"blockrun deepseek summarize this file" Call DeepSeek for cost savings

Antigravity User Prompts

User Says What You Do
"I ran out of Antigravity credits" Suggest BlockRun: "Your BlockRun wallet can keep you working. Want me to route this task through DeepSeek?"
"Gemini keeps refactoring in circles" Call GPT/Claude: "Let me get a fresh perspective from GPT to break this loop."
"Review what Gemini just did" Call GPT/Claude for second opinion on the code
"This complex refactor isn't working with Gemini" Suggest external review: "GPT might catch edge cases Gemini missed."

Wallet & Balance

Use setup_agent_wallet() to auto-create a wallet and get a client. This shows the QR code and welcome message on first use.

Initialize client (always start with this):

from blockrun_llm import setup_agent_wallet

client = setup_agent_wallet()  # Auto-creates wallet, shows QR if new

Check balance (when user asks "show balance", "check wallet", etc.):

balance = client.get_balance()  # On-chain USDC balance
print(f"Balance: ${balance:.2f} USDC")
print(f"Wallet: {client.get_wallet_address()}")

Show QR code for funding:

from blockrun_llm import generate_wallet_qr_ascii, get_wallet_address

# ASCII QR for terminal display
print(generate_wallet_qr_ascii(get_wallet_address()))

SDK Usage

Prerequisite: Install the SDK with pip install blockrun-llm

Basic Chat

from blockrun_llm import setup_agent_wallet

client = setup_agent_wallet()  # Auto-creates wallet if needed
response = client.chat("openai/gpt-5.2", "What is 2+2?")
print(response)

# Check spending
spending = client.get_spending()
print(f"Spent ${spending['total_usd']:.4f}")

IMPORTANT: For real-time X/Twitter data, you MUST enable Live Search with search=True or search_parameters.

from blockrun_llm import setup_agent_wallet

client = setup_agent_wallet()

# Simple: Enable live search with search=True
response = client.chat(
    "xai/grok-3",
    "What are the latest posts from @blockrunai on X?",
    search=True  # Enables real-time X/Twitter search
)
print(response)

Advanced X Search with Filters

from blockrun_llm import setup_agent_wallet

client = setup_agent_wallet()

response = client.chat(
    "xai/grok-3",
    "Analyze @blockrunai's recent content and engagement",
    search_parameters={
        "mode": "on",
        "sources": [
            {
                "type": "x",
                "included_x_handles": ["blockrunai"],
                "post_favorite_count": 5
            }
        ],
        "max_search_results": 20,
        "return_citations": True
    }
)
print(response)

Image Generation

from blockrun_llm import ImageClient

client = ImageClient()
result = client.generate("A cute cat wearing a space helmet")
print(result.data[0].url)

xAI Live Search Reference

Live Search is xAI's real-time data API. Cost: $0.025 per source (default 10 sources = ~$0.26).

To reduce costs, set max_search_results to a lower value:

# Only use 5 sources (~$0.13)
response = client.chat("xai/grok-3", "What's trending?",
    search_parameters={"mode": "on", "max_search_results": 5})

Search Parameters

Parameter Type Default Description
mode string "auto" "off", "auto", or "on"
sources array web,news,x Data sources to query
return_citations bool true Include source URLs
from_date string - Start date (YYYY-MM-DD)
to_date string - End date (YYYY-MM-DD)
max_search_results int 10 Max sources to return (customize to control cost)

Source Types

X/Twitter Source:

{
    "type": "x",
    "included_x_handles": ["handle1", "handle2"],  # Max 10
    "excluded_x_handles": ["spam_account"],        # Max 10
    "post_favorite_count": 100,  # Min likes threshold
    "post_view_count": 1000      # Min views threshold
}

Web Source:

{
    "type": "web",
    "country": "US",  # ISO alpha-2 code
    "allowed_websites": ["example.com"],  # Max 5
    "safe_search": True
}

News Source:

{
    "type": "news",
    "country": "US",
    "excluded_websites": ["tabloid.com"]  # Max 5
}

Available Models

Model Best For Pricing
openai/gpt-5.2 Second opinions, code review, general $1.75/M in, $14/M out
openai/gpt-5-mini Cost-optimized reasoning $0.30/M in, $1.20/M out
openai/o4-mini Latest efficient reasoning $1.10/M in, $4.40/M out
openai/o3 Advanced reasoning, complex problems $10/M in, $40/M out
xai/grok-3 Real-time X/Twitter data $3/M + $0.025/source
deepseek/deepseek-chat Simple tasks, bulk processing $0.14/M in, $0.28/M out
google/gemini-2.5-flash Very long documents, fast $0.15/M in, $0.60/M out
openai/dall-e-3 Photorealistic images $0.04/image
google/nano-banana Fast, artistic images $0.01/image

M = million tokens. Actual cost depends on your prompt and response length.

Cost Reference

All LLM costs are per million tokens (M = 1,000,000 tokens).

Model Input Output
GPT-5.2 $1.75/M $14.00/M
GPT-5-mini $0.30/M $1.20/M
Grok-3 (no search) $3.00/M $15.00/M
DeepSeek $0.14/M $0.28/M
Fixed Cost Actions
Grok Live Search $0.025/source (default 10 = $0.25)
DALL-E image $0.04/image
Nano Banana image $0.01/image

Typical costs: A 500-word prompt (~750 tokens) to GPT-5.2 costs ~$0.001 input. A 1000-word response (~1500 tokens) costs ~$0.02 output.

Setup & Funding

Wallet location: $HOME/.blockrun/.session (e.g., /Users/username/.blockrun/.session)

First-time setup:
1. Wallet auto-creates when setup_agent_wallet() is called
2. Check wallet and balance:

from blockrun_llm import setup_agent_wallet
client = setup_agent_wallet()
print(f"Wallet: {client.get_wallet_address()}")
print(f"Balance: ${client.get_balance():.2f} USDC")
  1. Fund wallet with $1-5 USDC on Base network

Show QR code for funding (ASCII for terminal):

from blockrun_llm import generate_wallet_qr_ascii, get_wallet_address
print(generate_wallet_qr_ascii(get_wallet_address()))

Troubleshooting

PaymentError: Payment was rejected
→ NEVER show raw stack traces. Always check balance first (see "CRITICAL: Balance Check" section above).
If you get this error, show a user-friendly message:

⚠️ Payment failed - insufficient balance.

Current balance: $0.05 USDC
Wallet: 0x413c7846194698829F8605C631c06c91B7B71DC3

Options:
1. Fund wallet with USDC on Base network
2. Use fewer search sources to reduce cost
3. Try a cheaper model (DeepSeek)

"Grok says it has no real-time access"
→ You forgot to enable Live Search. Add search=True:

response = client.chat("xai/grok-3", "What's trending?", search=True)

Module not found
→ Install the SDK: pip install blockrun-llm

Error Handling Pattern

Always wrap API calls with balance checking:

from blockrun_llm import setup_agent_wallet
from blockrun_llm.types import PaymentError

client = setup_agent_wallet()
balance = client.get_balance()
estimated_cost = 0.25  # Grok + Live Search

# Pre-flight check
if balance < estimated_cost:
    print(f"⚠️ Insufficient balance: ${balance:.2f} USDC")
    print(f"Required: ~${estimated_cost:.2f}")
    print(f"Wallet: {client.get_wallet_address()}")
    # Ask user what to do
else:
    # User confirmed, make the call
    try:
        response = client.chat("xai/grok-3", "Query", search=True)
        print(response)
        print(f"\nCost: ${client.get_spending()['total_usd']:.2f}")
    except PaymentError:
        print("⚠️ Payment failed. Balance may have changed.")

Updates

pip install --upgrade blockrun-llm

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.