Globales Ranking · von 601 Skills
broadcast-arc AI Agent Skill
Quellcode ansehen: b-open-io/bsv-skills
CriticalInstallation
npx skills add b-open-io/bsv-skills --skill broadcast-arc 14
Installationen
ARC Transaction Broadcasting
Broadcast signed BSV transactions using the ARC (Application Runtime & Certificate) protocol via @bsv/sdk.
ARC Overview
ARC is the production-grade transaction broadcaster for BSV. Unlike simple REST broadcast endpoints, ARC:
- Connects to multiple nodes simultaneously (no single point of failure)
- Accepts Extended Format (EF) transactions for script/fee validation
- Returns structured status responses with
txStatus - Supports callback webhooks for confirmation events
- Handles rebroadcast automatically
Two public ARC endpoints are available:
| Provider | URL | API Key Required |
|---|---|---|
| GorillaPool | https://arc.gorillapool.io |
No (mainnet, public beta) |
| TAAL | https://api.taal.com/arc |
Yes — get from console.taal.com |
GorillaPool is the default for development. Use TAAL for production if a guaranteed SLA is needed.
Basic Usage
import { Transaction, ARC } from '@bsv/sdk'
// GorillaPool — no API key needed
const result = await tx.broadcast(new ARC('https://arc.gorillapool.io'))
// TAAL — API key required
const result = await tx.broadcast(new ARC('https://api.taal.com/arc', 'mainnet_xxxxxx'))
// Check result
if (result.status === 'success') {
console.log('txid:', result.txid)
console.log('status:', result.message) // e.g. "SEEN_ON_NETWORK"
} else {
console.error('broadcast failed:', result.description)
}ArcConfig Options
Use ArcConfig for advanced configuration:
import { ARC, ArcConfig } from '@bsv/sdk'
const config: ArcConfig = {
apiKey: 'mainnet_xxxxxx', // Optional for GorillaPool
callbackUrl: 'https://myapp.com/arc-callback', // Webhook for confirmations
callbackToken: 'my-secret-token', // Sent as Authorization header in callbacks
deploymentId: 'my-app-v1', // Identifies your app in ARC logs
headers: { 'X-Custom': 'value' }, // Extra headers on all requests
}
const broadcaster = new ARC('https://arc.gorillapool.io', config)
await tx.broadcast(broadcaster)Callback Webhook
When callbackUrl is set, ARC will POST to that URL when the transaction is:
- Seen in mempool (
SEEN_ON_NETWORK) - Mined in a block (
MINED) - Double-spent (
DOUBLE_SPEND_ATTEMPTED)
The callback body contains { txid, txStatus, blockHash?, blockHeight? }.
Transaction Formats
The ARC broadcaster internally calls tx.toHexEF() (Extended Format). EF includes source transaction data so ARC can validate scripts and fees without looking up inputs separately.
If EF serialization fails (source transactions not attached), it falls back to raw hex.
// Manually build with source tx attached (enables EF)
tx.addInput({
sourceTXID: '...',
sourceOutputIndex: 0,
sourceTransaction: parentTx, // Attaches parent → enables EF
unlockingScriptTemplate: new P2PKH().unlock(key),
})Batch Broadcasting
Broadcast multiple transactions in one call:
const broadcaster = new ARC('https://arc.gorillapool.io')
const results = await broadcaster.broadcastMany([tx1, tx2, tx3])
for (const r of results) {
console.log(r)
}broadcastMany posts to /v1/txs (vs /v1/tx for single). Results are mixed — some may succeed while others fail.
Broadcasting a BEEF Transaction
When using WalletClient with noSend: true, the wallet returns a BEEF transaction. To broadcast it via ARC:
import { Transaction, ARC } from '@bsv/sdk'
// Parse BEEF bytes from WalletClient
const tx = Transaction.fromBEEF(beefBytes)
// Or from hex BEEF string
const tx = Transaction.fromHexBEEF(beefHex)
// Broadcast
const result = await tx.broadcast(new ARC('https://arc.gorillapool.io'))Script Usage
# Broadcast a raw/EF tx hex
bun run skills/broadcast-arc/scripts/broadcast.ts <tx-hex>
# Broadcast BEEF hex
bun run skills/broadcast-arc/scripts/broadcast.ts --beef <beef-hex>
# Use TAAL with API key
bun run skills/broadcast-arc/scripts/broadcast.ts <tx-hex> --key mainnet_xxxxxx --url https://api.taal.com/arcError Codes
| Code | Meaning |
|---|---|
200 |
Success — transaction accepted |
409 |
Already known — txid exists (not an error) |
422 |
Invalid transaction — script/fee error |
465 |
Cumulative fee too low |
473 |
Double spend detected |
A 409 response (already known) should be treated as success — the tx is already on the network.
txStatus Values
| Status | Meaning |
|---|---|
STORED |
Received, not yet validated |
ANNOUNCED_TO_NETWORK |
Propagated to nodes |
SEEN_ON_NETWORK |
Seen by multiple nodes |
MINED |
Included in a block |
SEEN_IN_ORPHAN_MEMPOOL |
In an orphan branch |
DOUBLE_SPEND_ATTEMPTED |
Competing transaction detected |
Related Skills
wallet-brc100— create transactions withWalletClientincludingnoSend: trueBEEF patternwallet-send-bsv— build and sign transactions with a WIF key before broadcastingdecode-bsv-transaction— inspect a transaction before or after broadcast
Installationen
Sicherheitsprüfung
Quellcode ansehen
b-open-io/bsv-skills
Mehr aus dieser Quelle
Power your AI Agents with
the best open-source models.
Drop-in OpenAI-compatible API. No data leaves Europe.
Explore Inference APIGLM
GLM 5
$1.00 / $3.20
per M tokens
Kimi
Kimi K2.5
$0.60 / $2.80
per M tokens
MiniMax
MiniMax M2.5
$0.30 / $1.20
per M tokens
Qwen
Qwen3.5 122B
$0.40 / $3.00
per M tokens
So verwenden Sie diesen Skill
Install broadcast-arc by running npx skills add b-open-io/bsv-skills --skill broadcast-arc in your project directory. Führen Sie den obigen Installationsbefehl in Ihrem Projektverzeichnis aus. Die Skill-Datei wird von GitHub heruntergeladen und in Ihrem Projekt platziert.
Keine Konfiguration erforderlich. Ihr KI-Agent (Claude Code, Cursor, Windsurf usw.) erkennt installierte Skills automatisch und nutzt sie als Kontext bei der Code-Generierung.
Der Skill verbessert das Verständnis Ihres Agenten für broadcast-arc, und hilft ihm, etablierte Muster zu befolgen, häufige Fehler zu vermeiden und produktionsreifen Code zu erzeugen.
Was Sie erhalten
Skills sind Klartext-Anweisungsdateien — kein ausführbarer Code. Sie kodieren Expertenwissen über Frameworks, Sprachen oder Tools, das Ihr KI-Agent liest, um seine Ausgabe zu verbessern. Das bedeutet null Laufzeit-Overhead, keine Abhängigkeitskonflikte und volle Transparenz: Sie können jede Anweisung vor der Installation lesen und prüfen.
Kompatibilität
Dieser Skill funktioniert mit jedem KI-Coding-Agenten, der das skills.sh-Format unterstützt, einschließlich Claude Code (Anthropic), Cursor, Windsurf, Cline, Aider und anderen Tools, die projektbezogene Kontextdateien lesen. Skills sind auf Transportebene framework-agnostisch — der Inhalt bestimmt, für welche Sprache oder welches Framework er gilt.
Chat with 100+ AI Models in one App.
Use Claude, ChatGPT, Gemini alongside with EU-Hosted Models like Deepseek, GLM-5, Kimi K2.5 and many more.