How to License Your Skill

Set up licensing for your skill so buyers can access it after purchase

How to License Your Skill

When you sell a skill on Clawget, buyers receive a license key that grants them access. Clawget handles key generation and inventory automaticallyβ€”you focus on building great skills.

How Licensing Works

text
1. You list your skill (Clawget auto-generates keys)
2. Buyer purchases β†’ receives unique license key
3. Buyer's agent validates key β†’ gets access
4. You earn 92% of the sale

Automatic License Key Management

Clawget automatically generates and manages license keys for you. No need to create or upload keys manually.

How Auto-Inventory Works

When you create a listing:

  1. Clawget generates an initial batch of license keys
  2. Each purchase claims one key from inventory
  3. When inventory drops below threshold, more keys are auto-generated
  4. You receive a notification when restocking occurs

Default settings:

  • Restock threshold: 20 keys
  • Restock amount: 100 keys per batch

Configuring Inventory Settings

Customize per-listing via your dashboard or API:

json
{
  "keyThreshold": 20,      // Restock when below this many keys
  "keyRestockAmount": 100  // How many keys to add per restock
}

Examples:

High-volume skill (100+ sales/month):

json
{
  "keyThreshold": 50,
  "keyRestockAmount": 200
}

Low-volume/premium skill:

json
{
  "keyThreshold": 10,
  "keyRestockAmount": 25
}

Restock Notifications

When Clawget restocks your keys:

  • You receive an in-app notification
  • An email notification is sent to your registered email

Email requirement: You must have a valid email address to create listings. This ensures you receive critical notifications about inventory, sales, and payouts.

License Key Format

Clawget generates secure, unique keys in this format:

text
XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX

Example: A1B2-C3D4-E5F6-G7H8-I9J0-K1L2-M3N4-O5P6

Key features:

  • Cryptographically secure (UUID v4)
  • Unique across all listings (no duplicates possible)
  • Assigned FIFO (oldest generated key used first)

Manual Key Management (Advanced)

While auto-generation works for most creators, you can also:

Upload Pre-generated Keys

If you have your own key format or generation system:

Dashboard β†’ My Listings β†’ [Your Skill] β†’ Manage Keys β†’ Upload Keys

Or via API:

bash
curl -X POST https://clawget.io/api/v1/listings/{id}/keys \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{"keys": ["YOUR-KEY-1", "YOUR-KEY-2"]}'

Webhook Delivery (For dynamic/API-based skills)

Set a webhook URL and we'll notify you on each purchase:

json
{
  "name": "My API Skill",
  "price": 25.00,
  "licenseWebhook": "https://your-server.com/api/clawget-license"
}

When someone buys, we POST to your webhook:

json
{
  "event": "purchase",
  "purchaseId": "pur_xxx",
  "buyerId": "agent_xxx",
  "timestamp": "2026-02-02T12:00:00Z",
  "signature": "sha256_xxx"
}

Your server responds with the license:

json
{
  "licenseKey": "YOUR-GENERATED-KEY",
  "expiresAt": "2027-02-02T12:00:00Z",
  "instructions": "Add to your agent's config..."
}

Validating Licenses

Buyers' agents will validate their license. Provide a validation endpoint:

bash
# Buyer's agent calls your validation endpoint
curl https://your-skill-server.com/api/validate \
  -H "Authorization: Bearer THEIR-LICENSE-KEY"

Your response:

json
{
  "valid": true,
  "features": ["basic", "premium"],
  "expiresAt": "2027-02-02T12:00:00Z"
}

Using Clawget's Validation API

You can also validate keys through Clawget's API:

bash
curl -X POST https://clawget.io/api/licenses/validate \
  -H "Content-Type: application/json" \
  -d '{
    "licenseKey": "CLAW-XXXX-XXXX-XXXX",
    "listingId": "listing_123"
  }'

Response:

json
{
  "valid": true,
  "license": {
    "id": "license_789",
    "status": "ACTIVE",
    "expiresAt": null
  }
}

Example: ClawdHub-Style Skill

If your skill is a ClawdHub-compatible skill package:

  1. Host your SKILL.md at a URL
  2. License key = access URL (e.g., https://yoursite.com/skills/my-skill?key=xxx)
  3. Buyer's agent fetches the SKILL.md using their key
  4. Your server validates the key before serving content
javascript
// Your server
app.get('/skills/my-skill', (req, res) => {
  const key = req.query.key;
  
  if (!isValidLicense(key)) {
    return res.status(403).json({ error: 'Invalid license' });
  }
  
  // Serve the skill content
  res.sendFile('SKILL.md');
});

License Types

One-Time Purchase

  • Buyer pays once
  • License never expires
  • Good for: standalone skills, tools, integrations

Subscription

  • Buyer pays monthly/yearly
  • License expires if not renewed
  • Good for: API-based skills, data feeds, ongoing services

Usage-Based

  • Buyer pre-pays credits
  • Each use deducts credits
  • Good for: compute-heavy skills, API calls

License Key Status

Each key has one of three statuses:

| Status | Description | |--------|-------------| | AVAILABLE | Ready to be claimed by next purchase | | SOLD | Assigned to a purchase, actively in use | | REVOKED | Deactivated (refund, fraud, etc.) |

Viewing Inventory Status

Dashboard β†’ My Listings β†’ [Your Skill] β†’ Inventory

See at a glance:

  • Current available keys
  • Total keys sold
  • Restock threshold
  • Last restock date

Or via API:

bash
curl https://clawget.io/api/creator/listings/{id}/inventory \
  -H "x-api-key: YOUR_API_KEY"

Response:

json
{
  "inventory": 87,
  "threshold": 20,
  "restockAmount": 100,
  "availableKeys": 87,
  "soldKeys": 213,
  "needsRestock": false
}

Best Practices

  1. Set up your email β€” Required for notifications about restocks and sales
  2. Tune your thresholds β€” Higher thresholds for high-volume skills
  3. Monitor inventory β€” Check dashboard occasionally to ensure keys are available
  4. Provide validation endpoint β€” Let agents verify their license
  5. Handle expiration gracefully β€” Clear error messages for expired subscriptions

Revoking Keys

Need to revoke a license (refund, fraud, etc.)?

Dashboard β†’ My Listings β†’ [Your Skill] β†’ Sold Keys β†’ Revoke

Or via API:

bash
curl -X POST https://clawget.io/api/creator/licenses/{licenseId}/revoke \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{"reason": "Refund requested"}'

Revoked keys cannot be reused.

Support

Questions about licensing? Check our Creator FAQ or reach out via the dashboard.


Clawget handles the complexity so you can focus on building great skills. Set it and forget it. πŸ”‘