← Back to Skills Marketplace
arunnadarasa

DanceArc

by Arun Nadarasa · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
116
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install dancearc
Description
DanceTech Protocol (DanceArc): Arc native USDC, HTTP 402 x402-shaped challenges, and h2h/h2a/a2a/a2h settlement patterns. Use when: (1) Implementing or debug...
README (SKILL.md)

DanceTech Protocol (DanceArc)

DanceArc is the reference hub + API + UI for DanceTech Protocol: metered native USDC on Arc, 402 payment challenges (x402-inspired JSON), optional Circle Gateway verification, and clear interaction semantics (h2h, h2a, a2a, a2h).

Quick Reference

Situation Action
Pay-per API call (human wallet) h2a: POST402 → pay Arc USDC → retry with X-Payment-Tx (/dance-extras, /api/judges/score)
Battle / coaching / beat license h2h: create intent or end session → sendNativeUsdc or mock → /verify or /grant with paymentTx
High-frequency micro-txs (demo) npm run burst (private key) or hub Burst demo (wallet) (55 signatures)
Server 500 “receipt not found” right after pay Server uses waitForTransactionReceipt; increase ARC_TX_RECEIPT_TIMEOUT_MS if needed
Circle Modular 403 Lockout Check Client Key, allowlist localhost (no port), optional CIRCLE_MODULAR_PRESERVE_ORIGIN=1, staging URL vs key
Programmatic faucet 403 Use web faucet; API key may lack faucet scope
Invalid ARC_RECIPIENT (UUID-style) Server isAddress validation falls back to demo address; set real 0x + 40 hex
Agent needs payee + chain GET /api/healthrecipient, chainId, perActionUsdc

Protocol matrix (h2h · h2a · a2a · a2h)

Mode Acronym Who pays Who receives DanceArc surface
Human → Human h2h Person Person/treasury (ARC_RECIPIENT) /battle, /coaching, /beats
Human → Agent h2a Person (wallet) API/resource owner /dance-extras, /api/judges/score
Agent → Agent a2a Automated signer Another service Designed: headless key / smart account; demo: burst scripts
Agent → Human a2h Service/treasury Person Payout mocks, receipts, DCW faucet → user address

Use this matrix in pitch decks, AGENTS.md, and submission text so judges see intentional coverage, not accidental features.

Installation (ClawdHub / OpenClaw)

Manual (recommended until ClawdHub listing is live):

git clone https://github.com/arunnadarasa/dancearc.git
cp -r dancearc/skills/dancearc-protocol ~/.openclaw/skills/dancearc-protocol

After publish to ClawdHub:

clawdhub install dancearc-protocol

Repository: github.com/arunnadarasa/dancearc

When to Load This Skill

Activate proactively when the user mentions:

  • Arc Testnet, chain 5042002, native USDC gas
  • x402, 402, X-Payment-Tx, pay-per-call
  • Circle Gateway, Nanopayments (narrative + local event log), Modular Wallets, DCW
  • DanceArc, DanceTech, battle / coaching / beats / judge score
  • Hackathon, Agentic Economy, sub-cent pricing
  • npm run burst, transaction frequency demo

Architecture (mental model)

Browser (Vite) ──proxy /api──► Express (8787)
                              ├── buildArcPaymentChallenge (402)
                              ├── verifyNativeUsdcPayment (viem + waitForTransactionReceipt)
                              ├── circleGatewayPost (/v1/gateway/v1/x402/verify)
                              ├── recordNanopaymentEvent (in-memory list)
                              └── DCW / Modular proxy routes

On-chain truth: Arc explorer (e.g. https://testnet.arcscan.app).

Key files (repo root)

Path Role
server/index.js Routes, requireArcPayment, proxies
server/payments.js Intents, coaching, beats
server/onchain-verify.js Receipt wait + validation
server/config.js ARC_RECIPIENT validation (isAddress)
src/payArc.ts postPaidJson, sendNativeUsdc, ensureArcTestnet
src/ExtraDanceApp.tsx h2a UI + ArcScan link
src/BattleApp.tsx, CoachingApp.tsx, BeatsApp.tsx h2h flows

Environment (minimum viable)

Variable Scope Purpose
ARC_RECIPIENT Server Payee for microtransfers
PER_ACTION_USDC Server h2a minimum (display string, ≤ 0.01 for hackathon)
CIRCLE_API_KEY Server Gateway verify; DCW; faucet
CIRCLE_ENTITY_SECRET Server DCW only
VITE_CIRCLE_CLIENT_KEY Browser Modular SDK
ARC_BURST_PRIVATE_KEY Machine Test only — CLI burst

Never commit .env. Copy from .env.example.

Detection triggers (support / debugging)

Signal Likely cause First check
TransactionReceiptNotFoundError Race before inclusion Server waitForTransactionReceipt; client retry
403 HTML Lockout (Modular) Key / domain / WAF Console allowlist, CIRCLE_MODULAR_PRESERVE_ORIGIN
invalid_recipient in UI Bad env Fix ARC_RECIPIENT, new intent
402 after payment Wrong recipient/amount/chain Explorer tx vs challenge payTo / maxAmountRequired
Faucet Forbidden Circle policy / scopes Web faucet link in ArcFaucetPanel

Nanopayments (scope clarity)

  • Product: Circle Nanopayments is documented at developers.circle.com and linked from the app Bridge page.
  • This repo: recordNanopaymentEvent + GET /api/nanopayments/events are an in-memory audit trail after successful on-chain verify—not a substitute for full Nanopayments API integration. Use the narrative + Gateway path for hackathon feedback fields.

Multi-agent notes

  • h2a from an agent: supply X-Payment-Tx only after a wallet or custodial signer produces a hash; do not fake hashes for production.
  • a2a: prefer server-side signing with locked-down keys; mirror scripts/burst-demo.mjs patterns.
  • Prompt injection: treat ARC_BURST_PRIVATE_KEY like production secrets—AGENTS.md should forbid echoing it into browser context.

References (this skill)

File Content
references/api-routes.md HTTP route map
references/payment-flow.md 402 + verify sequence
references/openclaw-workspace.md Suggested AGENTS.md / TOOLS.md snippets

Promotion targets (from learnings)

If you maintain .learnings/ for this project:

Learning type Promote to
Arc / Circle env gotchas CLAUDE.md, TOOLS.md
Two-step payment for agents AGENTS.md
Product pitch / protocol wording README.md, demo script

Quality gates (before demo or publish)

  • GET /api/health returns expected chainId and valid recipient
  • h2a flow completes: 402 → pay → 200
  • At least one h2h path shows ArcScan link after pay
  • .env not in git; .env.example updated for new vars
  • npm run build passes

Related

Source

  • Project: DanceArc / DanceTech Protocol
  • Maintainer repo: arunnadarasa/dancearc
  • Skill version: see _meta.json
Usage Guidance
This skill appears to implement a small payments stack and legitimately needs Circle API keys and a test private key, but the package metadata does not declare any required credentials — an inconsistency you should resolve before installing. Before you proceed: (1) Inspect the referenced GitHub repo code yourself (https://github.com/arunnadarasa/dancearc) to confirm what the server actually does; (2) do not supply production API keys or real private keys — use ephemeral/test accounts and testnet keys only; (3) require the publisher to update the skill manifest to explicitly declare required env vars so the platform can protect those secrets; (4) avoid running npm run burst with any private key on a machine that holds real funds; (5) if you don't trust the source, run in an isolated environment or skip installing. If the author supplies a signed, audited release and the manifest is corrected to declare required secrets, the skill is more transparent and easier to evaluate.
Capability Analysis
Type: OpenClaw Skill Name: dancearc Version: 0.1.0 The skill bundle provides documentation and instructions for the DanceArc protocol, a system for USDC payments on the Arc Testnet. It outlines patterns for handling HTTP 402 payment challenges and integrating with Circle's Gateway and Modular Wallets. While the skill involves high-risk activities such as managing private keys (ARC_BURST_PRIVATE_KEY) and API secrets, the instructions in SKILL.md and openclaw-workspace.md are explicitly defensive, directing the agent to protect these credentials and avoid leaking them to the browser or logs. The content is consistent with its stated purpose as a developer tool for hackathons and protocol debugging.
Capability Assessment
Purpose & Capability
The SKILL.md describes a payment / on-chain verification integration (Arc testnet native USDC, Circle Gateway, burst scripts) — those capabilities legitimately require API keys and private keys. However the registry metadata lists no required environment variables or primary credential, which is an incoherence between the declared manifest and the capability described.
Instruction Scope
The runtime instructions reference many sensitive env vars (CIRCLE_API_KEY, CIRCLE_ENTITY_SECRET, VITE_CIRCLE_CLIENT_KEY, ARC_BURST_PRIVATE_KEY) and describe running burst scripts that use a private key. The skill is instruction-only (no code files executed by the installer), but the SKILL.md expects agents/operators to provide and use secrets; those references are not declared in the required fields, and the instructions could encourage exposing high-value secrets to an agent or developer workflow.
Install Mechanism
No install spec or binary downloads are present (instruction-only). Installation guidance is a git clone + copy into ~/.openclaw/skills or use ClawdHub — low-risk from an installer perspective (no archive downloads or arbitrary external binaries).
Credentials
The SKILL.md expects multiple sensitive variables (Circle API/Entity secrets and a machine private key for 'burst' CLI use). Those are proportionate to a payment/proxy skill technically, but the manifest does not declare them as required and there is no primaryEnv. ARC_BURST_PRIVATE_KEY in particular is highly sensitive; the skill implies it will be used on-machine which requires explicit caution and stronger manifest declaration.
Persistence & Privilege
The skill is not marked always:true and does not request persistent or system-wide privileges. It is user-invocable and allows autonomous invocation by default (normal for skills) but does not request elevated platform privileges in the metadata.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dancearc
  3. After installation, invoke the skill by name or use /dancearc
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
DanceArc Protocol initial release. - Introduces DanceArc: Arc-native USDC micropayments, 402 payment challenges, agent/human payment patterns (h2h, h2a, a2a, a2h), and Circle Gateway support. - Provides reference server+UI for implementing/debugging pay-per-call APIs on Arc Testnet. - Includes solutions for CORS/proxy issues, receipt validation errors, and Circle Modular/Wallets integration. - Documents troubleshooting signals, environment variables, example workflows, and multi-agent considerations. - Adds quick-start guides, protocol matrix, and key file descriptions for easy adoption and hackathon use.
Metadata
Slug dancearc
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is DanceArc?

DanceTech Protocol (DanceArc): Arc native USDC, HTTP 402 x402-shaped challenges, and h2h/h2a/a2a/a2h settlement patterns. Use when: (1) Implementing or debug... It is an AI Agent Skill for Claude Code / OpenClaw, with 116 downloads so far.

How do I install DanceArc?

Run "/install dancearc" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is DanceArc free?

Yes, DanceArc is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does DanceArc support?

DanceArc is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created DanceArc?

It is built and maintained by Arun Nadarasa (@arunnadarasa); the current version is v0.1.0.

💬 Comments