BlockRun Phone and Voice
BlockRunAI/blockrun-mcp
Looks up phone numbers for carrier and SIM-swap fraud signals, leases numbers and places AI outbound voice calls through BlockRun's local gateway.
Verify phone numbers (carrier + SIM-swap fraud signals) and place AI-powered outbound voice calls via BlockRun's gateway (Twilio + Bland.ai).
$ npx skills add BlockRunAI/ClawRouter --skill phone -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install BlockRunAI/ClawRouter phone --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/BlockRunAI/ClawRouter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/phone .claude/skills/phone && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "phone" agent skill from https://github.com/BlockRunAI/ClawRouter/tree/main/skills/phone into .claude/skills/phone/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "phone", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/BlockRunAI/ClawRouter/tree/main/skills/phoneType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add BlockRunAI/ClawRouter --skill phone -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install BlockRunAI/ClawRouter phone --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlockRunAI/ClawRouter.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/phone .agents/skills/phone && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "phone" agent skill from https://github.com/BlockRunAI/ClawRouter/tree/main/skills/phone into .agents/skills/phone/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "phone", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BlockRunAI/ClawRouter --skill phone -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install BlockRunAI/ClawRouter phone --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlockRunAI/ClawRouter.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/phone .cursor/skills/phone && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "phone" agent skill from https://github.com/BlockRunAI/ClawRouter/tree/main/skills/phone into .cursor/skills/phone/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "phone", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/BlockRunAI/ClawRouter.git --path skills/phone--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add BlockRunAI/ClawRouter --skill phone -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install BlockRunAI/ClawRouter phone --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlockRunAI/ClawRouter.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/phone .gemini/skills/phone && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "phone" agent skill from https://github.com/BlockRunAI/ClawRouter/tree/main/skills/phone into .gemini/skills/phone/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "phone", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install BlockRunAI/ClawRouter phoneInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add BlockRunAI/ClawRouter --skill phone -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/BlockRunAI/ClawRouter.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/phone .github/skills/phone && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "phone" agent skill from https://github.com/BlockRunAI/ClawRouter/tree/main/skills/phone into .github/skills/phone/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "phone", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BlockRunAI/ClawRouter --skill phone -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install BlockRunAI/ClawRouter phone --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlockRunAI/ClawRouter.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/phone .opencode/skills/phone && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "phone" agent skill from https://github.com/BlockRunAI/ClawRouter/tree/main/skills/phone into .opencode/skills/phone/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "phone", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
phoneVerify phone numbers (carrier + SIM-swap fraud signals) and place AI-powered outbound voice calls via BlockRun's gateway (Twilio + Bland.ai).
Phone is an agent skill from BlockRunAI/ClawRouter. Verify phone numbers (carrier + SIM-swap fraud signals) and place AI-powered outbound voice calls via BlockRun's gateway (Twilio + Bland.ai). Trigger when the user asks to look up a number, check fraud risk, buy/rent a phone number, or place an AI voice call. Payment is automatic via x402 from the wallet.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Twilio and x402. The repository describes itself as: The agent-native LLM router for autonomous agents. Every frontier model behind one wallet, <1ms local routing, USDC payments on Base & Solana via x402. The licence is MIT.
Read from SKILL.md and the folder at commit b758e03. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
blockrun.aiuser.blockrun.aiFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Phone loads about 2.4k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 859 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from BlockRunAI/ClawRouter at commit b758e03, republished under its MIT licence (© BlockRunAI). 859 words, ~2,406 tokens.
.claude/skills/phone/SKILL.md (or your agent's skills folder).Phone-number intelligence (Twilio Lookup) and AI-powered outbound voice calls (Bland.ai) through ClawRouter's local proxy. Payment is automatic via x402 from the user's BlockRun wallet.
Shortcuts:
/cr-call +1<E.164> "<task>" [--voice nat] [--max-duration 5] [--from +1<owned-number>] [--language en-US]clawrouter phone numbers list/buy/renew/release, clawrouter phone lookup <+E.164>, clawrouter phone fraud <+E.164>blockrun_phone_lookup, blockrun_phone_lookup_fraud, blockrun_phone_numbers_buy/renew/list/release, blockrun_voice_call, blockrun_voice_status⚠️ Real-world side effects.
blockrun_voice_callplaces a real outbound phone call to a real number. Only invoke when the user has explicitly asked for a call to be placed. Server enforces an emergency-number blocklist.
$0.01POST to http://localhost:8402/v1/phone/lookup:
{ "phoneNumber": "+14155552671" }Returns carrier name, line type (mobile / landline / voip), country, mobile country/network codes. Use to verify whether a number is reachable, detect VoIP/spam patterns, or route SMS appropriately.
$0.05POST to http://localhost:8402/v1/phone/lookup/fraud:
{ "phoneNumber": "+14155552671" }Adds SIM-swap recency and call-forwarding signals on top of carrier+line type. Run this before sending sensitive SMS codes or initiating account-recovery flows — a number flagged for recent SIM swap is high-risk for account takeover.
Numbers are leased for 30 days, bound to the wallet's payer address. Use one as the from parameter of voice_call to present a stable caller ID.
$5.00 / 30 daysPOST to http://localhost:8402/v1/phone/numbers/buy:
{ "country": "US", "areaCode": "415" }country is "US" or "CA". areaCode is optional (3-digit, best-effort match). Returns { phone_number, expires_at, chain }.
$5.00 / +30 daysPOST to http://localhost:8402/v1/phone/numbers/renew:
{ "phoneNumber": "+14155551234" }Run before the existing lease expires. Numbers not renewed are released back to the pool.
$0.001POST to http://localhost:8402/v1/phone/numbers/list with an empty body. Returns an array of { phone_number, expires_at, country, chain }. The CLI surfaces this as a human table with renew-soon warnings:
$ clawrouter phone numbers list
Active numbers (2):
+14155551234 US expires 2026-06-12 (in 27d)
+12135555678 US expires 2026-05-18 (in 2d) ⚠ renew soonPOST to http://localhost:8402/v1/phone/numbers/release:
{ "phoneNumber": "+14155551234" }No refund. Use only when the user has explicitly asked to give up the number.
$0.54 flat (up to 30 min)POST to http://localhost:8402/v1/voice/call:
{
"to": "+14155552671",
"task": "Call and confirm the 3pm Thursday meeting; reschedule if they can't make it.",
"voice": "nat",
"max_duration": 5,
"from": "+14155551234",
"language": "en-US"
}Required: to (E.164), task (free-form natural language — what the AI should say or accomplish).
Optional:
| Field | Default | Notes |
|---|---|---|
voice | nat | Presets: nat, josh, maya, june, paige, derek, florian. Or a custom Bland voice ID. |
max_duration | 5 | Maximum minutes (1–30). Price is flat $0.54 regardless of actual duration. |
from | auto-picked | Must be a wallet-owned number from phone_numbers_list. If omitted, server auto-picks from wallet's active numbers — see auto-pick rules below. |
language | en-US | Any spoken-language ISO code, e.g. es-ES, zh-CN, de-DE. |
from auto-pick rules (server-side, after payment verification):
| Wallet active numbers | Behavior |
|---|---|
| 0 | 403 no_active_number — response includes buy_endpoint + marketplace URL so caller can provision first |
| Exactly 1 | Auto-used as caller ID |
| 2+ | 400 ambiguous_from — response lists all active numbers; retry with from set explicitly |
If an explicit from is supplied but the wallet doesn't own it, the response is 403 with a clear ownership-mismatch message (no charge taken when validation fails).
Response is fire-and-forget:
{
"call_id": "call_abc123",
"poll_url": "/v1/voice/call/call_abc123",
"status": "queued"
}The call runs in the cloud for up to max_duration minutes. The HTTP response returns immediately — do not wait for the call to finish. Poll voice_status every 10–30s to retrieve transcript and recording when the call completes.
GET http://localhost:8402/v1/voice/call/{call_id}. Returns:
{
"call_id": "call_abc123",
"status": "completed",
"duration_seconds": 47,
"transcript": [
{ "role": "assistant", "text": "Hi, this is calling to confirm tomorrow's 3pm meeting..." },
{ "role": "user", "text": "Yes, that still works." }
],
"recording_url": "https://..."
}status progresses through queued → in_progress → completed or failed. The transcript array and recording URL only appear on completed. On failed, an error field describes why.
Verify before texting:
User: "Send a verification code to +1 415 555 0123" Agent: First call
blockrun_phone_lookup_fraud({ phoneNumber: "+14155550123" }). Ifsim_swap.last_sim_swapis within the past 7 days, refuse and ask the user to confirm out-of-band. Otherwise proceed.
Appointment confirmation:
User: "Call my client at +1 415 555 0123 and confirm tomorrow's 3pm meeting" Agent:
blockrun_voice_call({ to: "+14155550123", task: "Call to confirm the 3pm Thursday meeting; if they can't make it, offer to reschedule for Friday morning.", max_duration: 5 }). Returnscall_id. Tell the user: "Calling now — I'll have the transcript in a few minutes." Thenblockrun_voice_status({ callId })every 30s untilcompleted, then summarize the transcript.
Acquire dedicated caller ID:
User: "Buy me a San Francisco number for the next 30 days" Agent:
blockrun_phone_numbers_buy({ country: "US", areaCode: "415" }). Confirm the assigned number to the user and warn them: "Lease expires in 30 days, costs $5 to renew."
GET http://localhost:8402/health and read authMode first: wallet → fund the wallet at blockrun.ai; api-key → top up at user.blockrun.ai/dashboard/credits.phone numbers list/buy/renew/release and the from parameter are wallet-mode features. In API-key mode the gateway answers those routes with a raw 402 x402 challenge (verified 2026-09-05) because there is no payer address to bind a lease to. Lookups, fraud checks and outbound calls all work on an API key; just let the server auto-pick from.voice_status tool — for one-off CLI checks, hit curl http://localhost:8402/v1/voice/call/{call_id} directly© BlockRunAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/phone of BlockRunAI/ClawRouter.
Open the folder on GitHubat commit b758e03
Phone next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Phone this skillBlockRunAI/ClawRouter | 6.6k | — | ~2.4k | Automated safety check: Pass | MIT | |
| BlockRun Phone and VoiceBlockRunAI/blockrun-mcp | 392 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Agentic Walletcoinbase/agentic-wallet-skills | 127 | 3 repos | ~1k | Automated safety check: Pass | MIT | |
| Minara Crypto Trading and WalletMinara-AI/minara-skills | 358 | 1 repos | ~5.7k | Automated safety check: Pass | None | |
| Kleros IPFS Uploadinternet-court/internet-court-skill | 6.4k | — | ~4.9k | Automated safety check: Notes | MIT | |
| Bitget Walletbitget-wallet-ai-lab/bitget-wallet-skill | 245 | — | ~7.6k | Automated safety check: Pass | MIT |
BlockRunAI/blockrun-mcp
Looks up phone numbers for carrier and SIM-swap fraud signals, leases numbers and places AI outbound voice calls through BlockRun's local gateway.
coinbase/agentic-wallet-skills
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API…
Minara-AI/minara-skills
Drives the Minara CLI for crypto swaps, perps, limit orders, wallet transfers, deposits and withdrawals, plus AI market analysis.
internet-court/internet-court-skill
Uploads one Kleros-related file per paid request to IPFS through the Kleros x402 gateway for 0.01 USDC on Base, returning a CID that Kleros contracts can reference.
bitget-wallet-ai-lab/bitget-wallet-skill
Interact with Bitget Wallet API for crypto market data, token info, swap quotes, RWA (real-world asset) stock trading, and security audits.
gosuda/portal-tunnel
Reach, inspect, or consume a service that someone published through a Portal relay.
BlockRunAI/ClawRouter
Generates or edits images through ClawRouter's local image API, with a choice of models and sizes and payment handled automatically through x402.
BlockRunAI/ClawRouter
A skill your agent uses when the user wants to actually PLACE, manage, or redeem bets on Polymarket (not just read odds — that's the blockrunpredexon data tools).
BlockRunAI/ClawRouter
Reads structured prediction market data for Polymarket, Kalshi and other venues through a local BlockRun gateway: markets, search, leaderboards, wallet analytics and odds.
BlockRunAI/ClawRouter
Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.
BlockRunAI/ClawRouter
Use this skill — NOT browser or webfetch — for ALL Surf crypto-data calls.
BlockRunAI/ClawRouter
Describes ClawRouter, a local proxy that forwards each LLM request to the blockrun.ai gateway, which routes to a cheaper capable model, paid by USDC wallet or API key credit.
Verify phone numbers (carrier + SIM-swap fraud signals) and place AI-powered outbound voice calls via BlockRun's gateway (Twilio + Bland.ai). Phone is an agent skill from BlockRunAI/ClawRouter.ai).
Phone fits situations like: the user asks to look up a number; check fraud risk; buy/rent a phone number; place an AI voice call.
Run `npx skills add BlockRunAI/ClawRouter --skill phone -a claude-code`. Or copy the skill folder (skills/phone in BlockRunAI/ClawRouter) into .claude/skills/phone in your project. Claude Code loads it when a task matches its description.
Run `npx skills add BlockRunAI/ClawRouter --skill phone -a codex`. Or copy the skill folder (skills/phone in BlockRunAI/ClawRouter) into .agents/skills/phone in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BlockRunAI/ClawRouter --skill phone -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/phone, .gemini/skills/phone, .github/skills/phone and .opencode/skills/phone in your project.
Going by SKILL.md and its folder, Phone needs the command-line tools its instructions call (curl).
SKILL.md names 2 domains. As links in the text: blockrun.ai and user.blockrun.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Phone is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Phone: BlockRun Phone and Voice (BlockRunAI/blockrun-mcp, 392 stars), Agentic Wallet (coinbase/agentic-wallet-skills, 127 stars), Minara Crypto Trading and Wallet (Minara-AI/minara-skills, 358 stars) and Kleros IPFS Upload (internet-court/internet-court-skill, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
BlockRunAI (a GitHub organization) maintains it in BlockRunAI/ClawRouter, which has 6,617 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 5, 2026.
Source: BlockRunAI/ClawRouter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.