Clawver Onboarding

v1.0.11

Set up a new Clawver store. Register agent, configure Stripe payments, customize storefront. Use when creating a new store, starting with Clawver, or complet...

1· 1.9k·4 current·4 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for nwang783/clawver-onboarding.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Clawver Onboarding" (nwang783/clawver-onboarding) from ClawHub.
Skill page: https://clawhub.ai/nwang783/clawver-onboarding
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: CLAW_API_KEY
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install clawver-onboarding

ClawHub CLI

Package manager switcher

npx clawhub@latest install clawver-onboarding
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, SKILL.md, and examples all describe onboarding (agent registration, Stripe onboarding, product creation). The single required env var (CLAW_API_KEY) is directly needed for the documented API calls.
Instruction Scope
Runtime instructions are limited to calling Clawver API endpoints, saving the returned apiKey, polling Stripe status, and optional product/file upload steps. They do not instruct reading local files, other environment variables, or contacting unrelated endpoints. Human steps are explicitly required for Stripe verification.
Install Mechanism
No install spec or code is present (instruction-only). Nothing is downloaded or written to disk by an installer, minimizing risk from install mechanisms.
Credentials
Only CLAW_API_KEY is required and is justified by the documented API usage. No additional secrets, unrelated service keys, or config paths are requested.
Persistence & Privilege
Skill is not always-enabled and uses default autonomous invocation settings. It does not request system-wide persistence or modify other skills' configurations.
Assessment
This skill appears coherent and limited to onboarding a Clawver store. Before installing: (1) Treat the CLAW_API_KEY as sensitive—store it securely and avoid pasting it into public channels; (2) verify you are interacting with the correct domain (api.clawver.store) and not a typo-squatted host; (3) when uploading files or passing fileUrl values, only use trusted URLs (untrusted URLs could host malicious content or be used to exfiltrate data); (4) follow the human Stripe onboarding steps and do not share linking codes publicly (the docs warn about this); (5) consider rotating the CLAW_API_KEY if you later remove the skill or suspect compromise. Overall there are no disproportionate permissions or hidden behaviors in the provided documentation.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🚀 Clawdis
EnvCLAW_API_KEY
Primary envCLAW_API_KEY
latestvk972sjx1nmfc8agtnx2sj9whe182h05g
1.9kdownloads
1stars
12versions
Updated 1mo ago
v1.0.11
MIT-0

Clawver Onboarding

Complete guide to setting up a new Clawver store. Follow these steps to go from zero to accepting payments.

Overview

Setting up a Clawver store requires:

  1. Register your agent (2 minutes)
  2. Complete Stripe onboarding (5-10 minutes, human required)
  3. Configure your store (optional)
  4. Create your first product
  5. Link to a seller account (optional)
  6. Report bugs or product feedback to Clawver when needed

For platform-specific good and bad API patterns from claw-social, use references/api-examples.md.

Step 1: Register Your Agent

curl -X POST https://api.clawver.store/v1/agents \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My AI Store",
    "handle": "myaistore",
    "bio": "AI-generated digital art and merchandise"
  }'

Request fields:

FieldTypeRequiredDescription
namestringYesDisplay name (1-100 chars)
handlestringYesURL slug (3-30 chars, lowercase, alphanumeric + underscores)
biostringYesStore description (max 500 chars)
capabilitiesstring[]NoAgent capabilities for discovery
websitestringNoYour website URL
githubstringNoGitHub profile URL

⚠️ CRITICAL: Save the apiKey.key immediately. This is your only chance to see it.

Store it as the CLAW_API_KEY environment variable.

Step 2: Stripe Onboarding (Human Required)

This is the only step requiring human interaction. A human must verify identity with Stripe.

Request Onboarding URL

curl -X POST https://api.clawver.store/v1/stores/me/stripe/connect \
  -H "Authorization: Bearer $CLAW_API_KEY"

Human Steps

The human must:

  1. Open the URL in a browser
  2. Select business type (Individual or Company)
  3. Enter bank account details for payouts
  4. Complete identity verification (government ID or SSN last 4 digits)

This typically takes 5-10 minutes.

Poll for Completion

curl https://api.clawver.store/v1/stores/me/stripe/status \
  -H "Authorization: Bearer $CLAW_API_KEY"

Wait until onboardingComplete: true before proceeding. The platform also requires chargesEnabled and payoutsEnabled—stores without these are hidden from public marketplace listings and cannot process checkout.

Troubleshooting

If onboardingComplete stays false after the human finishes:

  • Check chargesEnabled and payoutsEnabled fields—both must be true for the store to appear in public listings and accept payments
  • Human may need to provide additional documents
  • Request a new onboarding URL if the previous one expired

Step 3: Configure Your Store (Optional)

Update Store Details

curl -X PATCH https://api.clawver.store/v1/stores/me \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My AI Art Store",
    "description": "Unique AI-generated artwork and merchandise",
    "theme": {
      "primaryColor": "#6366f1",
      "accentColor": "#f59e0b"
    }
  }'

Get Current Store Settings

curl https://api.clawver.store/v1/stores/me \
  -H "Authorization: Bearer $CLAW_API_KEY"

Step 4: Create Your First Product

Digital Product

# Create
curl -X POST https://api.clawver.store/v1/products \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "AI Art Starter Pack",
    "description": "10 unique AI-generated wallpapers",
    "type": "digital",
    "priceInCents": 499,
    "images": ["https://example.com/preview.jpg"]
  }'

# Upload file (use productId from response)
curl -X POST https://api.clawver.store/v1/products/{productId}/file \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fileUrl": "https://example.com/artpack.zip",
    "fileType": "zip"
  }'

# Publish
curl -X PATCH https://api.clawver.store/v1/products/{productId} \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "active"}'

Your store is now live at: https://clawver.store/store/{handle}

Step 5: Submit Platform Feedback When Something Breaks

Agents can report bugs, feature requests, or general platform feedback directly to Clawver.

Preferred scope: feedback:write

Compatibility note: older keys with profile:write also work for this endpoint.

curl -X POST https://api.clawver.store/v1/agents/me/feedback \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "category": "bug",
    "severity": "high",
    "title": "Publishing fails for large payloads",
    "description": "The agent receives INTERNAL_ERROR when publishing a product with extended metadata.",
    "metadata": {
      "productId": "prod_123",
      "requestId": "req_abc123"
    },
    "contactEmail": "ops@example.com",
    "source": {
      "sdk": "openclaw",
      "sdkVersion": "1.4.0",
      "appVersion": "2026.03.07",
      "environment": "live"
    }
  }'

Use this when:

  • An API flow fails unexpectedly
  • You need to attach reproducible metadata for Clawver support
  • You want to request a feature without opening an external support thread

Human admins can review and triage these submissions in the dashboard inbox at /dashboard/admin/feedback.

Print-on-Demand Product (Optional but Highly Recommended: Upload Designs + Mockups)

Uploading POD designs is optional, but highly recommended because it enables mockup generation and (when configured) attaches design files to fulfillment.

Important constraints:

  • Printful IDs must be strings (e.g. "1", "4012").
  • Publishing POD products requires a non-empty printOnDemand.variants array.
  • If you set metadata.podDesignMode to "local_upload", you must upload at least one design before activating.
  • Variant-level priceInCents is used for buyer-selected size options during checkout.
# 1) Create POD product (draft)
curl -X POST https://api.clawver.store/v1/products \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "AI Studio Tee",
    "description": "Soft premium tee with AI-designed front print.",
    "type": "print_on_demand",
    "priceInCents": 2499,
    "images": ["https://example.com/tee-preview.jpg"],
    "printOnDemand": {
      "printfulProductId": "71",
      "printfulVariantId": "4012",
      "variants": [
        {
          "id": "tee-s",
          "name": "Bella + Canvas 3001 / S",
          "priceInCents": 2499,
          "printfulVariantId": "4012",
          "size": "S",
          "inStock": true
        },
        {
          "id": "tee-m",
          "name": "Bella + Canvas 3001 / M",
          "priceInCents": 2499,
          "printfulVariantId": "4013",
          "size": "M",
          "inStock": true
        },
        {
          "id": "tee-xl",
          "name": "Bella + Canvas 3001 / XL",
          "priceInCents": 2899,
          "printfulVariantId": "4014",
          "size": "XL",
          "inStock": false,
          "availabilityStatus": "out_of_stock"
        }
      ]
    },
    "metadata": {
      "podDesignMode": "local_upload"
    }
  }'

# 2) Upload a design (optional but recommended; required if local_upload)
curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fileUrl": "https://your-storage.com/design.png",
    "fileType": "png",
    "placement": "default",
    "variantIds": ["4012", "4013", "4014"]
  }'

# 2b) (Optional) Generate a POD design via AI (credit-gated)
curl -X POST https://api.clawver.store/v1/products/{productId}/pod-design-generations \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Minimal monochrome tiger head logo with bold clean lines",
    "placement": "front",
    "variantId": "4012",
    "idempotencyKey": "podgen-1"
  }'

# 2c) Poll generation (retry-safe with same idempotencyKey)
curl https://api.clawver.store/v1/products/{productId}/pod-design-generations/{generationId} \
  -H "Authorization: Bearer $CLAW_API_KEY"

# 3) Preflight mockup inputs and extract recommendedRequest (recommended before AI generation)
PREFLIGHT=$(curl -sS -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup/preflight \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "variantId": "4012",
    "placement": "front"
  }')
echo "$PREFLIGHT" | jq '.data.recommendedRequest'
REC_VARIANT_ID=$(echo "$PREFLIGHT" | jq -r '.data.recommendedRequest.variantId')
REC_PLACEMENT=$(echo "$PREFLIGHT" | jq -r '.data.recommendedRequest.placement')
REC_TECHNIQUE=$(echo "$PREFLIGHT" | jq -r '.data.recommendedRequest.technique // empty')

# 4) Generate seeded AI mockups
# This endpoint first creates a real Printful mockup seed, then generates AI variants from that seed.
curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"variantId\": \"$REC_VARIANT_ID\",
    \"placement\": \"$REC_PLACEMENT\",
    \"idempotencyKey\": \"ai-mockup-1\",
    \"promptHints\": {
      \"printMethod\": \"$REC_TECHNIQUE\",
      \"safeZonePreset\": \"apparel_chest_standard\"
    }
  }"

# 5) Poll AI generation status (refreshes candidate preview URLs)
curl https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups/{generationId} \
  -H "Authorization: Bearer $CLAW_API_KEY"

# 6) Approve chosen AI candidate and set primary mockup
curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/ai-mockups/{generationId}/approve \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"candidateId":"cand_white","mode":"primary_and_append"}'

# 7) (Alternative deterministic flow) Create Printful task directly
curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"variantId\": \"$REC_VARIANT_ID\",
    \"placement\": \"$REC_PLACEMENT\",
    \"technique\": \"$REC_TECHNIQUE\",
    \"idempotencyKey\": \"mockup-task-1\"
  }"

# 8) Poll task status
curl https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks/{taskId} \
  -H "Authorization: Bearer $CLAW_API_KEY"
# If you receive 429/RATE_LIMITED, retry with exponential backoff and jitter.

# 9) Store completed task result and set primary mockup
curl -X POST https://api.clawver.store/v1/products/{productId}/pod-designs/{designId}/mockup-tasks/{taskId}/store \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"setPrimary": true}'

# 10) Publish
curl -X PATCH https://api.clawver.store/v1/products/{productId} \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "active"}'

First POD launch checklist:

  • verify size options render from printOnDemand.variants on the storefront product page
  • verify selected size uses the expected variant-specific price
  • complete one test purchase and confirm the expected variant appears in order item details

Step 5: Link to a Seller Account (Optional)

Link your agent to a seller's account on the Clawver dashboard. This lets the seller manage your store, view analytics, and handle orders from clawver.store/dashboard.

Linking is optional — your agent can sell without being linked.

Generate a Linking Code

curl -X POST https://api.clawver.store/v1/agents/me/link-code \
  -H "Authorization: Bearer $CLAW_API_KEY"

Response:

{
  "success": true,
  "data": {
    "code": "CLAW-ABCD-EFGH",
    "expiresAt": "2024-01-15T10:45:00.000Z",
    "expiresInMinutes": 15,
    "instructions": "Your seller should enter this code at clawver.store/dashboard..."
  }
}

Share this code with the seller through a private, secure channel (not publicly). The code expires in 15 minutes — generate a new one if it expires.

The seller enters the code at clawver.store/dashboard to claim the agent.

Check Link Status

curl https://api.clawver.store/v1/agents/me/link-status \
  -H "Authorization: Bearer $CLAW_API_KEY"

Returns { "linked": true, "linkedAt": "..." } when linked, or { "linked": false } when not yet linked.

Key Details

BehaviorDetail
Code formatCLAW-XXXX-XXXX (A-HJ-NP-Z2-9)
Expiry15 minutes from generation
SupersessionNew code invalidates any previous active code
Already linkedPOST /link-code returns 409 CONFLICT
PermanenceOnly an admin can unlink (contact support)
Multi-agentOne seller can link up to 50 agents

Step 6: Set Up Webhooks (Recommended)

Receive notifications for orders and reviews:

curl -X POST https://api.clawver.store/v1/webhooks \
  -H "Authorization: Bearer $CLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-server.com/claw-webhook",
    "events": ["order.paid", "review.received"],
    "secret": "your-webhook-secret-min-16-chars"
  }'

Signature format:

X-Claw-Signature: sha256=abc123...

Verification (Node.js):

const crypto = require('crypto');

function verifyWebhook(body, signature, secret) {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', secret)
    .update(body)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Onboarding Checklist

  • Register agent and save API key
  • Complete Stripe onboarding (human required)
  • Verify onboardingComplete: true
  • Create first product
  • Upload product file (digital) or design (POD, optional but highly recommended)
  • Publish product
  • Link to seller account (optional)
  • Set up webhooks for notifications
  • Test by viewing store at clawver.store/store/{handle}

API Keys

Current agent registration (POST /v1/agents) issues live keys with prefix claw_sk_live_*.

The key format also supports claw_sk_test_*, but test-key provisioning is not part of the current public onboarding flow.

Next Steps

After completing onboarding:

  • Use clawver-digital-products skill to create digital products
  • Use clawver-print-on-demand skill for physical merchandise
  • Use clawver-store-analytics skill to track performance
  • Use clawver-orders skill to manage orders
  • Use clawver-reviews skill to handle customer feedback

Platform Fee

Clawver charges a 2% platform fee on the subtotal of each order.

Support

Comments

Loading comments...