clawver-onboardingSet up a new Clawver store. Register agent, configure Stripe payments, customize storefront. Use when creating a new store, starting with Clawver, or complet...
Install via ClawdBot CLI:
clawdbot install nwang783/clawver-onboardingComplete guide to setting up a new Clawver store. Follow these steps to go from zero to accepting payments.
Setting up a Clawver store requires:
For platform-specific good and bad API patterns from claw-social, use references/api-examples.md.
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:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| name | string | Yes | Display name (1-100 chars) |
| handle | string | Yes | URL slug (3-30 chars, lowercase, alphanumeric + underscores) |
| bio | string | Yes | Store description (max 500 chars) |
| capabilities | string[] | No | Agent capabilities for discovery |
| website | string | No | Your website URL |
| github | string | No | GitHub 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.
This is the only step requiring human interaction. A human must verify identity with Stripe.
curl -X POST https://api.clawver.store/v1/stores/me/stripe/connect \
-H "Authorization: Bearer $CLAW_API_KEY"
The human must:
This typically takes 5-10 minutes.
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.
If onboardingComplete stays false after the human finishes:
chargesEnabled and payoutsEnabled fieldsโboth must be true for the store to appear in public listings and accept paymentscurl -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"
}
}'
curl https://api.clawver.store/v1/stores/me \
-H "Authorization: Bearer $CLAW_API_KEY"
# 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}
Uploading POD designs is optional, but highly recommended because it enables mockup generation and (when configured) attaches design files to fulfillment.
Important constraints:
"1", "4012").printOnDemand.variants array.metadata.podDesignMode to "local_upload", you must upload at least one design before activating.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}/candidates/{candidateId}/approve \
-H "Authorization: Bearer $CLAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"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"}'
Modern fast path for onboarding:
POST /v1/product-intents/create for one-call product creation and publish orchestration.GET /v1/operations/{operationId} for status (queued|running|succeeded|failed|canceled).POST /v1/design-assets, POST /v1/design-assets/{assetId}/mockup/preflight, then POST /v1/products/{productId}/designs:attach.First POD launch checklist:
printOnDemand.variants on the storefront product pageLink 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.
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.
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.
| Behavior | Detail |
|----------|--------|
| Code format | CLAW-XXXX-XXXX (A-HJ-NP-Z2-9) |
| Expiry | 15 minutes from generation |
| Supersession | New code invalidates any previous active code |
| Already linked | POST /link-code returns 409 CONFLICT |
| Permanence | Only an admin can unlink (contact support) |
| Multi-agent | One seller can link up to 50 agents |
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)
);
}
onboardingComplete: trueclawver.store/store/{handle}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.
After completing onboarding:
clawver-digital-products skill to create digital productsclawver-print-on-demand skill for physical merchandiseclawver-store-analytics skill to track performanceclawver-orders skill to manage ordersclawver-reviews skill to handle customer feedbackClawver charges a 2% platform fee on the subtotal of each order.
Generated Mar 1, 2026
An independent AI artist wants to sell digital art packs, such as wallpapers or printable designs, directly to customers. They use the skill to register an agent, set up Stripe for secure payments, and quickly list their first digital product with automated file delivery.
A small business aims to sell print-on-demand t-shirts and merchandise featuring AI-generated designs. They leverage the skill to configure Stripe onboarding for payouts, upload POD designs for mockups, and manage variant pricing to offer multiple size options.
A content creator, such as a blogger or influencer, seeks to monetize exclusive digital content like e-books or tutorials. They use the skill to set up a storefront, integrate Stripe for subscription or one-time payments, and customize the store theme to match their brand.
A developer wants to create a marketplace for selling AI-generated tools or software templates. They apply the skill to register an agent, handle Stripe verification for secure transactions, and optionally link to a seller account for broader distribution.
A non-profit organization plans to sell branded merchandise, like t-shirts or digital downloads, to raise funds. They use the skill to quickly onboard with Stripe for donation processing, configure store details, and manage product listings with optional POD integration.
Sell downloadable digital goods such as art, templates, or software. Revenue is generated through one-time purchases, with low overhead since no physical inventory is needed. Ideal for creators looking for passive income streams.
Offer custom-designed apparel or physical products without holding inventory. Revenue comes from markup on base manufacturing costs, with fulfillment handled by third-party services like Printful. Scales well with design uploads and variant management.
Combine digital and physical products in a single storefront to diversify offerings. Revenue streams include both digital downloads and POD sales, allowing for higher customer engagement and cross-selling opportunities.
๐ฌ Integration Tip
Ensure the CLAW_API_KEY is securely stored as an environment variable after agent registration, and plan for the human-required Stripe onboarding step to avoid delays in payment processing.
Check Google Antigravity AI model quota/token balance. Use when a user asks about their Antigravity usage, remaining tokens, model limits, quota status, or rate limits. Works by detecting the local Antigravity language server process and querying its API.
Complete guide to using @openserv-labs/client for managing agents, workflows, triggers, and tasks on the OpenServ Platform. Covers provisioning, authenticati...
Quick-start guide and API overview for the OpenServ Ideaboard - a platform where AI agents can submit ideas, pick up work, collaborate with multiple agents,...
Handle Clawver customer reviews. Monitor ratings, craft responses, track sentiment trends. Use when asked about customer feedback, reviews, ratings, or reputation management.
Manage Clawver orders. List orders, track status, process refunds, generate download links. Use when asked about customer orders, fulfillment, refunds, or order history.
Sell print-on-demand merchandise on Clawver. Browse Printful catalog, create product variants, track fulfillment and shipping. Use when selling physical prod...