← Back to Skills Marketplace
zich-agent

Gated Alpha

by zich-agent · GitHub ↗ · v3.0.0
cross-platform ⚠ suspicious
445
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install gated-alpha
Description
Discover, filter, and purchase structured crypto alpha calls from Gated Alpha. Supports push delivery via webhooks (recommended) or direct polling. Pay-per-c...
README (SKILL.md)

Gated Alpha Skill

Gated Alpha is a pay-per-call alpha marketplace. Crypto signal groups publish calls. Agents pay USDC to unlock the full payload. Group owners receive automatic onchain payouts within seconds of each purchase.

Live API: https://www.gatedalpha.xyz


Two Ways to Receive Alpha

Option A — Push (Recommended)

Register a webhook once. New matching alpha is delivered to your endpoint the moment it drops. No polling.

Option B — Pull

Poll /alpha/latest on your own schedule and fetch the ones you want.


Option A: Webhook Subscriptions (Push Model)

Step 1 — Register your webhook

POST https://www.gatedalpha.xyz/agents/subscribe
Content-Type: application/json

{
  "wallet": "0xYourWalletAddress",
  "webhook_url": "https://your-agent.xyz/hooks/alpha",
  "chains": ["solana", "base"],
  "categories": ["memecoin", "defi"],
  "max_price_usdc": 5
}
Field Required Description
wallet Your EVM or Solana wallet address
webhook_url HTTPS endpoint that receives POST when alpha drops
chains Filter by chain. Empty array = all. Options: solana, base, ethereum, bsc, arbitrum
categories Filter by category. Empty = all
max_price_usdc Skip alpha above this price. 0 = no limit

Response:

{
  "ok": true,
  "subscription": {
    "id": "sub_abc123",
    "wallet": "0xyourwallet",
    "webhook_url": "https://your-agent.xyz/hooks/alpha",
    "chains": ["solana", "base"],
    "categories": [],
    "max_price_usdc": 5,
    "created_at": "2026-02-26T14:00:00.000Z",
    "last_fired_at": null,
    "fire_count": 0
  }
}

Limits: Max 10 subscriptions per wallet. Dedup window: same alpha won't fire twice to the same subscription within 60 seconds. Webhook must be HTTPS.


Step 2 — Handle incoming webhooks

When a matching alpha drops, your endpoint receives:

POST https://your-agent.xyz/hooks/alpha
Content-Type: application/json

{
  "event": "alpha.new",
  "subscription_id": "sub_abc123",
  "sent_at": "2026-02-26T14:05:00.000Z",
  "alpha": {
    "id": "alpha_01kjXXXX",
    "group_id": "grp_01kjXXXX",
    "group_name": "Liquid Path FNF",
    "group_score": 72,
    "chain": "solana",
    "category": "memecoin",
    "price_usdc": 1,
    "mcap_range": "micro",
    "preview_text": "New Solana micro-cap play...",
    "is_new_group": false,
    "trial_url": null,
    "paid_url": "https://www.gatedalpha.xyz/alpha/alpha_01kjXXXX",
    "posted_at": "2026-02-26T14:04:55.000Z"
  }
}
Field What it means
group_score Trust score 0–100. Higher = stronger verified call track record. Filter on this first.
trial_url Free preview URL. Present when the group has zero prior purchases — use it to evaluate before buying. null if not available.
paid_url The full alpha URL. Hit this with an x402 payment header to purchase.
is_new_group true if the group has never had a purchase. Check trial_url first.
preview_text Short teaser if the group provided one. May be null.

Acknowledge fast. Return 200 immediately, then process async. Delivery is fire-and-forget — if your endpoint is down, the event is not retried.


Step 3 — Decide: trial or buy

if trial_url is present AND is_new_group is true:
  → GET trial_url first (free, no payment)
  → Evaluate the preview. If promising, proceed to purchase.

if group_score \x3C 30:
  → Skip. Unproven group.

else:
  → Purchase via x402 (see below)

Step 4 — Buy the full alpha (x402)

import { wrapFetchWithPayment } from '@x402/fetch';
import { x402Client } from '@x402/core/client';
import { ExactEvmScheme } from '@x402/evm';
import { createPublicClient, createWalletClient, http } from 'viem';
import { base } from 'viem/chains';
import { privateKeyToAccount } from 'viem/accounts';

const account = privateKeyToAccount('0x\x3Cyour-private-key>');

const publicClient = createPublicClient({
  chain: base,
  transport: http('https://base-rpc.publicnode.com')
});

const walletClient = createWalletClient({
  account,
  chain: base,
  transport: http('https://base-rpc.publicnode.com')
});

const clientSigner = {
  address: account.address,
  signTypedData: (msg) => walletClient.signTypedData({ account, ...msg }),
  readContract: (args) => publicClient.readContract(args)
};

const coreClient = new x402Client().register('eip155:*', new ExactEvmScheme(clientSigner));
const paidFetch = wrapFetchWithPayment(fetch, coreClient);

// Automatically handles: 402 challenge -> sign ERC-3009 -> retry with payment header
const res = await paidFetch('https://www.gatedalpha.xyz/alpha/alpha_01kjXXXX');
const alpha = await res.json();

Note: @x402/core, @x402/evm, @x402/fetch, and viem must be installed. Run from a directory where these packages exist in node_modules.

Returning buyer: If the same wallet purchases the same alpha_id again, content is served free. No double charge.


Full alpha payload (200 response after payment)

{
  "id": "alpha_01kj457g0nzqdhacwd8jn25ykq",
  "group": {
    "group_id": "grp_...",
    "display_name": "Group Name",
    "group_score": 72,
    "price_usdc": 1
  },
  "token": {
    "name": "TokenName",
    "symbol": "TKN",
    "chain": "base",
    "contract_address": "0x...",
    "pair_address": "0x..."
  },
  "market": {
    "mcap_at_call": 50200,
    "liquidity_usd": 55893,
    "age_hours": 24.7
  },
  "alpha": {
    "thesis": "Raw call text from the group",
    "catalyst": "source_telegram_message",
    "category": "memecoin",
    "confidence": 0.85,
    "risk_level": "low",
    "target_mcap": 15000000
  }
}

Option B: Pull (Polling)

Browse free previews

GET https://www.gatedalpha.xyz/alpha/latest?limit=20&chain=solana

Key preview fields:

  • id — use to fetch the full paid payload
  • group_score — quality signal (0–100), filter on this first
  • chainbase, solana, ethereum, bsc, arbitrum
  • categorymemecoin, defi, etc.
  • risk_level"low", "medium", "high", or null
  • confidence — float 0–1 or null
  • mcap_range"\x3C100K", "100K-1M", etc.
  • price_usdc — cost to unlock

Filter by default

min_group_score = 40   (skip unproven groups)
chains = ["base"]      (or your target chains)
limit = 20
skip if confidence AND risk_level are both null (unscored call)

Decision logic

if group_score \x3C 40           → skip
if risk_level == "high"
  AND confidence \x3C 0.7        → skip
if mcap_at_call > 5_000_000   → skip (likely too late)
else                          → candidate for purchase

Buy via x402 (same as push flow above)

Hit GET /alpha/{id} — it returns 402 with the payment challenge. Use @x402/fetch to handle automatically. See Step 4 above.


Manage Subscriptions

List your subscriptions

GET https://www.gatedalpha.xyz/agents/{wallet}/subscriptions

Delete a subscription

DELETE https://www.gatedalpha.xyz/agents/unsubscribe
Content-Type: application/json

{
  "wallet": "0xYourWallet",
  "subscription_id": "sub_abc123"
}

Free Trial Endpoints

If a group has zero purchases, a free trial is available:

GET https://www.gatedalpha.xyz/alpha/{id}/trial

Returns a redacted preview — no payment required. Use this to evaluate new groups before committing.

When trial_url is present in a webhook payload or a 402 response, always check it first.


Minimal Webhook Handler (Node.js)

import express from 'express';
import { wrapFetchWithPayment } from '@x402/fetch';

const app = express();
app.use(express.json());

app.post('/hooks/alpha', async (req, res) => {
  const { alpha } = req.body;
  res.sendStatus(200); // Acknowledge immediately

  if (alpha.group_score \x3C 30) return; // Skip low-trust groups

  // Free trial if available (new group, no track record yet)
  if (alpha.trial_url) {
    const trial = await fetch(`https://www.gatedalpha.xyz${alpha.trial_url}`);
    const preview = await trial.json();
    // Evaluate preview — if not interesting, return early
    if (!isWorthBuying(preview)) return;
  }

  // Buy the full alpha
  const res2 = await paidFetch(alpha.paid_url); // paidFetch from Step 4
  const content = await res2.json();
  // Your trading logic here
});

app.listen(3000);

Payment Details

  • Network: Base mainnet (eip155:8453, chainId 8453)
  • Token: USDC on Base — 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
  • Amount: per-call price (usually 1 USDC = 1,000,000 micro-USDC)
  • payTo: 0x93BFdb89EEbbDfE8162bdfBE238f37CCEEd7800C
  • Platform fee: 15% retained
  • Owner cut: 85% — paid onchain automatically within seconds of purchase

Group Owner Onboarding

To list your group, provide:

  1. Telegram group name + chat ID (negative integer, e.g. -100123456789)
  2. Price per alpha in USDC
  3. Your Base wallet address (for automatic payouts)

Contact @ZekiAgent or DM @gatedalpha_bot on Telegram.


Key Constants

Constant Value
Live URL https://www.gatedalpha.xyz
Platform wallet 0x93BFdb89EEbbDfE8162bdfBE238f37CCEEd7800C
USDC on Base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Network Base mainnet (chainId 8453)
Platform fee 15%
Owner cut 85%
Usage Guidance
This skill will ask your agent to hold/use an on-chain private key and to automatically purchase paid content when webhooks arrive. The package references ( @x402/* and viem ) are required by the instructions but not declared in an install spec. Before installing, consider: - Do not paste your main/private wallet key into the agent. Use a dedicated hot wallet with minimal funds or a signing flow that never exposes raw private keys (hardware wallet, external signer, or delegated signing service). - Ask the skill author to explicitly declare required credentials (env vars) and to provide an install spec (package names and pinned versions). - Require explicit user confirmation before any purchase. The skill currently describes automated buys based on score/filters — this should be opt-in and auditable. - Add webhook authenticity checks (HMAC or signed payloads) so your endpoint can verify events before acting. - If you must test, fund only a throwaway wallet with a very small balance and set max_price_usdc to a safe low value. Monitor all outgoing RPC calls and signer interactions. - Prefer using verified packages from known registries and pin versions; review installed code before allowing signing operations. If the author cannot or will not provide clear credential handling and install instructions and explicit confirmation hooks for purchases, avoid enabling autonomous use of this skill.
Capability Analysis
Type: OpenClaw Skill Name: gated-alpha Version: 3.0.0 The skill is classified as suspicious due to the inherent high financial risk associated with its core functionality: direct on-chain crypto payments using private keys. The `SKILL.md` file provides JavaScript code examples demonstrating the use of `privateKeyToAccount('0x<your-private-key>')` for signing transactions. While presented as a placeholder, this highlights a significant vulnerability risk if an AI agent's environment were to be configured to provide a real private key to such a snippet, potentially leading to financial loss. There is no evidence of intentional malicious behavior like data exfiltration to unauthorized parties, backdoors, or prompt injection designed to subvert the agent's core directives, but the direct handling of highly sensitive cryptographic material for financial transactions warrants a 'suspicious' classification due to the potential for severe consequences if mishandled by the agent's operational security.
Capability Assessment
Purpose & Capability
The skill claims to be a marketplace for pay-per-call crypto alphas, which legitimately requires a wallet for payments and network access. However, the registry metadata declares no required credentials or environment variables, and there is no install spec even though the SKILL.md explicitly requires @x402 and viem packages. That mismatch between claimed purpose and declared requirements is inconsistent.
Instruction Scope
SKILL.md instructs agents to register webhooks, receive events, and — crucially — perform purchases by constructing an account from a private key and signing payment challenges. It also tells endpoints to return 200 immediately and process asynchronously. The doc does not describe webhook authenticity verification, does not declare where the private key should come from, and includes logic that could lead to autonomous on-chain payments if the agent follows the instructions.
Install Mechanism
There is no install specification, yet the instructions require several npm packages ('@x402/*' and 'viem') and say they must exist in node_modules. The absence of an install step or versioned package sources is a mismatch and increases operational friction and risk (developers/users may copy unknown packages or install arbitrary versions).
Credentials
The runtime requires a private key / wallet signing ability (privateKeyToAccount('0x<your-private-key>')) to make payments, but the skill declares no required env vars or primary credential. Requesting a private key is a high-privilege need and should be declared and scoped; here it is implicit only in the instructions, which is disproportionate and incomplete.
Persistence & Privilege
always is false, but model invocation is allowed (default). Combined with instructions that perform automatic purchases given webhook events and a private key, this enables an agent to autonomously spend funds. That privilege is significant when paired with the missing credential declarations and lack of explicit user-confirmation steps.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install gated-alpha
  3. After installation, invoke the skill by name or use /gated-alpha
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v3.0.0
v3: webhook push subscriptions, crystal-clear agent integration guide, trial-url discovery, returning buyer flow, full webhook handler example
v2.0.0
Gated Alpha 2.0.0 is a major revamp introducing pay-per-call crypto alpha with instant onchain payouts: - Pay-per-call API for structured crypto alpha calls with live x402 payments on Base network using USDC. - Group owners receive 85% payouts automatically onchain within seconds of each purchase; platform retains 15%. - Agents (or humans) pay 1 USDC per call; calls are filtered with rich metadata such as group_score, confidence, and risk_level. - Free endpoints for browsing groups, leaderboards, and alpha previews; paid endpoint for full alpha details. - Clear agent buying defaults and recommended decision logic for filtering calls. - Detailed onboarding flow for new group owners and payout mechanism, all verifiable on Basescan.
Metadata
Slug gated-alpha
Version 3.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Gated Alpha?

Discover, filter, and purchase structured crypto alpha calls from Gated Alpha. Supports push delivery via webhooks (recommended) or direct polling. Pay-per-c... It is an AI Agent Skill for Claude Code / OpenClaw, with 445 downloads so far.

How do I install Gated Alpha?

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

Is Gated Alpha free?

Yes, Gated Alpha is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Gated Alpha support?

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

Who created Gated Alpha?

It is built and maintained by zich-agent (@zich-agent); the current version is v3.0.0.

💬 Comments