Skills work better together
Each recipe chains a few small skills into a job an agent does every day. Steps run in parallel where they can, every step is paid per call, and the cost shown is one full run at today's prices.
Vet a token before buying
Mint controls, live price, the project's website and the latest coverage, in one parallel round.
0.014 USDC
4 paid calls per run
- 1Token Inspector0.005 USDCMint and freeze authorities, risky extensions, concentration and supply
- 2Token Prices0.002 USDCCurrent price with 24-hour and 7-day change
- 3Phishing Link Check0.004 USDCIs the project's website a known phishing domain?
- 4Crypto Headlines0.003 USDCWhat the newsrooms said this week
- Open any step to try it free first.
agent.mjs
// market = new Shadealpha({ signer, policy: { maxPerCall: "0.05", maxPerDay: "5" } }) (see the developer guide)
const [token, price, site, news] = await Promise.all([
market.call("scope/token-inspector", { mint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" }),
market.call("ticker/token-price", { tokens: ["USDC"] }),
market.call("bastion/url-risk", { url: "https://project-site.example" }),
market.call("herald/crypto-news", { query: "USDC", hours: 168, limit: 5 }),
]);
if (site.output.verdict === "high") throw new Error("Website flagged: " + site.output.signals[0].detail);
console.log(token.output.risks, price.output.prices[0], news.output.articles.map((a) => a.title));Install a dependency safely
Stop a coding agent from installing malware, typo-squats or packages with known holes.
0.009 USDC
2 paid calls per run
- 1Package Trust Check0.004 USDCMalware reports, typo-squatting, install scripts, age and downloads
- 2Dependency Audit0.005 USDCKnown vulnerabilities across the whole package.json
- Open any step to try it free first.
agent.mjs
// market = new Shadealpha({ signer, policy: { maxPerCall: "0.05", maxPerDay: "5" } }) (see the developer guide)
const { output: trust } = await market.call("patch/package-trust", { name: "lodash", ecosystem: "npm" });
if (trust.verdict === "risky") throw new Error("Not installing: " + trust.reasons.join("; "));
const { output: audit } = await market.call("patch/dependency-audit", { manifest: packageJson });
const urgent = audit.packages.filter((p) => p.vulnerabilities.some((v) => v.severity === "critical" || v.severity === "high"));
console.log(audit.totals, urgent.map((p) => `${p.name} → ${p.vulnerabilities[0].fixedIn[0] ?? "no fix yet"}`));Screen untrusted input before your model sees it
Block prompt injection, strip leaked secrets and mask personal data from web pages, emails or other agents.
0.008 USDC
3 paid calls per run
- 1Prompt Injection Scan0.002 USDCInstructions hidden in the text
- 2Secret Leak Scan0.003 USDCKeys, seed phrases and passwords, redacted
- 3Personal Data Redaction0.003 USDCEmails, phone numbers, cards and IDs masked
- Open any step to try it free first.
agent.mjs
// market = new Shadealpha({ signer, policy: { maxPerCall: "0.05", maxPerDay: "5" } }) (see the developer guide)
const [injection, secrets] = await Promise.all([
market.call("warden/injection-scan", { text: untrusted }),
market.call("bastion/secret-scan", { text: untrusted }),
]);
if (injection.output.verdict === "malicious") throw new Error("Refusing input with injected instructions");
const { output: clean } = await market.call("bastion/pii-redact", { text: secrets.output.redacted });
await model.respond(clean.redacted); // safe to show your model, store or logMorning market brief
Prices, a DeFi health check, the night's headlines and the crowd's mood for a daily report.
0.011 USDC
4 paid calls per run
- 1Token Prices0.002 USDCBTC, ETH and SOL with 24-hour and 7-day change
- 2DeFi Protocol Stats0.003 USDCTVL and trend for the protocol you follow
- 3Crypto Headlines0.003 USDCHeadlines from the last 12 hours
- 4Social Pulse0.003 USDCReach-weighted mood of public posts
- Open any step to try it free first.
agent.mjs
// market = new Shadealpha({ signer, policy: { maxPerCall: "0.05", maxPerDay: "5" } }) (see the developer guide)
const [prices, lido, headlines, social] = await Promise.all([
market.call("ticker/token-price", { tokens: ["BTC", "ETH", "SOL"] }),
market.call("ticker/defi-stats", { name: "lido" }),
market.call("herald/crypto-news", { hours: 12, limit: 5 }),
market.call("herald/social-search", { query: "bitcoin", sort: "latest" }),
]);
const brief = [
...prices.output.prices.map((p) => `${p.symbol} $${p.price} (${p.change24h}% 24h)`),
`Lido TVL $${lido.output.tvlUsd} (${lido.output.change7d}% 7d)`,
`Mood: ${social.output.mood?.label ?? "quiet"}`,
...headlines.output.articles.map((a) => `• ${a.title} (${a.source})`),
].join("\n");Research a link safely
Check a URL, read it, summarize it and add background, without the agent ever opening a phishing page.
0.013 USDC
4 paid calls per run
- 1Phishing Link Check0.004 USDCPhishing lists, domain age and look-alike checks first
- 2Web Page Reader0.004 USDCClean main text, author, date and links
- 3Extractive Summary0.003 USDCThe most central sentences, in order
- 4Wikipedia Lookup0.002 USDCBackground on the topic
- Open any step to try it free first.
agent.mjs
// market = new Shadealpha({ signer, policy: { maxPerCall: "0.05", maxPerDay: "5" } }) (see the developer guide)
const { output: risk } = await market.call("bastion/url-risk", { url });
if (risk.verdict === "high") throw new Error("Unsafe link: " + risk.signals[0].detail);
const { output: page } = await market.call("sage/page-reader", { url });
const [{ output: brief }, { output: background }] = await Promise.all([
market.call("sage/summarize", { text: page.text, sentences: 3 }),
market.call("sage/wiki-lookup", { query: page.title ?? url }),
]);
console.log(page.title, brief.summary, background.extract);Check a payment you received
Confirm what a transaction did and who sent it before releasing goods or work.
0.014 USDC
2 paid calls per run
- 1Transaction Explainer0.004 USDCWhat moved, to whom, through which programs, and any risks
- 2Wallet Profiler0.01 USDCBalances, activity and identity of the payer
- Open any step to try it free first.
agent.mjs
// market = new Shadealpha({ signer, policy: { maxPerCall: "0.05", maxPerDay: "5" } }) (see the developer guide)
const { output: tx } = await market.call("scope/tx-explainer", { signature });
if (tx.status !== "success") throw new Error("Transaction failed");
const sent = tx.tokenTransfers.find((t) => t.symbol === "USDC" && t.change.startsWith("-"));
const { output: payer } = await market.call("tally/wallet-profiler", { address: sent.owner });
console.log(tx.summary, payer.labels, payer.recentTransactions);