← 返回 Skills 市场
alvintanpoco

Crinkl Claws

作者 alvin · GitHub ↗ · v1.3.2
cross-platform ⚠ suspicious
403
总下载
0
收藏
0
当前安装
9
版本数
在 OpenClaw 中安装
/install crinkl-claws
功能描述
Receipt verification and Bitcoin rewards by Crinkl (https://crinkl.xyz). Scans Gmail or AgentMail for billing emails, verifies DKIM signatures, and earns ~15...
使用说明 (SKILL.md)

Crinkl — Earn Bitcoin from Billing Emails

clawhub install crinkl-claws

Scan your human's email for billing emails, verify their cryptographic DKIM signatures, and earn ~150 sats per receipt over Lightning. Each verified receipt mints an identity-free spend token — no personal data is stored or retained.

Supports two email providers: Gmail (via gog skill) or AgentMail (dedicated inbox, no OAuth).

MCP Server

This skill requires the crinkl MCP server:

{
  "mcpServers": {
    "crinkl": {
      "url": "https://mcp.crinkl.xyz/mcp"
    }
  }
}

All Crinkl operations (pairing, vendor discovery, receipt submission, earnings) are available as declared MCP tools. See the full tool list.

What is Crinkl

Crinkl is a receipt verification protocol. It uses DKIM — the same cryptographic signatures email servers already attach to every outbound message — to verify that a billing email is authentic and unmodified. Each verified receipt mints an identity-free spend token and pays sats to the submitter's wallet over Lightning.

Spend tokens contain a store hash, date, total, and a hash-chained signature — but no identity. No email address, no name, no account ID. The token proves a purchase happened without revealing who made it.

Privacy & Data Handling

This skill passes individual billing emails to the submit-receipt tool for DKIM signature verification. This section explains exactly what is sent, why, and what happens to it.

Why the full email is required

DKIM signatures are computed over the email's headers and body by the sending mail server (e.g. Amazon SES, Google Workspace). The signature covers the original message content — not a summary, not extracted fields, but the actual RFC 2822 message. To verify the cryptographic signature, the server must receive the same bytes the mail server signed. There is no way to verify DKIM without the original message.

This is the same verification that Gmail, Outlook, and every email provider performs when checking if an email is forged. The difference is that Crinkl uses the verification result to prove a purchase happened.

What happens after verification

  1. The server checks the DKIM signature against the vendor's public DNS key
  2. If valid, it extracts only: vendor name, invoice date, total amount, currency
  3. The original email is discarded — not stored, not logged, not retained
  4. A spend token is minted containing only the extracted invoice data (no email content, no personal data)

Scope

  • Gmail path: Searches for billing emails from approved vendor domains (call get-vendors), filtered by billing keywords, from the last 14 days.
  • AgentMail path: Processes messages in the dedicated receipt inbox. The inbox only receives vendor billing emails that the user explicitly configured to send there.

Security Model

  • Human-authorized: Your human approves the pairing code in their app. Nothing runs without their explicit consent.
  • Vendor-scoped (Gmail): Only billing emails from approved vendors are searched.
  • Vendor-scoped (AgentMail): The dedicated inbox only receives vendor billing emails the user explicitly configured. No access to the user's primary email.
  • Read-only Gmail: The gmail.readonly scope means no email modification, deletion, or sending.
  • DKIM verification: The server validates the cryptographic signature — forged or modified emails are rejected.
  • Identity-free output: Spend tokens strip all personal data. The signed payload contains store hash, date, total, and CBSA — no email, name, or account.
  • API key scoped: The API key ties submissions to a wallet, not to a person. Your human controls the key and can revoke it anytime.
  • Open source: The server-side verification logic is documented in the crinkl-protocol spec. The agent source is at crinkl-agent (MIT license).

Setup

1. Pair with your human's Crinkl wallet

On first run, pair with your human's wallet using the pair-agent tool:

  1. Call pair-agent with a random 64-character hex string as deviceToken
  2. Tell your human the 4-character code: "Open the Crinkl app and enter code: [code]"
  3. Poll claim-api-key every 5 seconds with the same deviceToken and code
  4. Once the human approves, you get the API key. Store it securely — it's shown once.

The code expires in 10 minutes.

2. Email access (choose one)

Option A: Gmail (via gog)

Install the gog skill for Gmail access:

clawhub install gog

Your human authorizes read-only Gmail access through gog's OAuth setup.

Option B: AgentMail (no OAuth)

Install the agentmail skill:

clawhub install agentmail

Create a dedicated inbox via AgentMail. Include the agentmailInbox field when calling pair-agent so your human sees the inbox address during approval. Your human then updates their vendor billing emails to send to the AgentMail address. Receipts arrive directly with DKIM signatures intact — no forwarding.

Important: Email forwarding (e.g. Gmail → AgentMail) breaks the vendor's DKIM signature. Vendors must send directly to the AgentMail address.

How It Works

Each cycle (see HEARTBEAT.md):

  1. Check API key — call pair-agent + claim-api-key if needed (one-time)
  2. Find billing emails:
    • Gmail: Fetch the vendor list (get-vendors), search Gmail for receipts from those domains
    • AgentMail: List messages in the dedicated receipt inbox
  3. Get raw email — Download each billing email as raw RFC 2822 (required for DKIM signature verification)
  4. Submit for verification — call submit-receipt with the base64 email; email is discarded after extraction
  5. Log results — Record what verified and what you earned
  6. Check your earnings — call get-agent-me for your submission count and sats earned

MCP Tool Reference

All tools are available via the crinkl MCP server at https://mcp.crinkl.xyz/mcp.

Pairing (no auth)

  • pair-agent — Start pairing. Pass deviceToken (64-char hex) and optionally agentmailInbox (e.g. [email protected]). Returns code and expiresAt.
  • claim-api-key — Poll for API key. Pass deviceToken + code. Returns 202 (pending), 200 (approved with apiKey), or 410 (expired).

Vendor discovery (no auth)

  • get-vendors — Returns list of approved vendor domains with display names.

Receipt submission (requires apiKey)

  • submit-receipt — Submit base64-encoded raw email for DKIM verification + spend creation.
    • Returns status 201 (verified, sats queued), 202 (vendor queued for review), 409 (duplicate), 422 (validation error), 429 (rate limited).
  • verify-receipt — Preview DKIM verification without creating a spend.

Earnings (requires apiKey)

  • get-agent-me — Your submission count, earned sats, wallet stats, current sats/receipt rate.

Two levels of data in get-agent-me:

Your numbers (attributed to your API key):

  • mySubmissions — receipts you verified
  • myEarnedSats — sats you earned

Wallet numbers (the entire wallet, all sources):

  • walletTotalSpends — all receipts on the wallet
  • walletEarnedSats — unclaimed sats on the wallet
  • walletClaimedSats — sats already paid out via Lightning

You and your human are separate entities on the same wallet.

Vendor Discovery

The vendor allowlist is not fixed. If you submit an email from a domain not yet on the list, it gets queued for review (202 response). If the domain has valid DKIM, the vendor gets approved and your spend is created retroactively.

Logging

Write each verification to your memory:

## Crinkl: verified Amazon receipt — $20.00 — DKIM valid — ~148 sats

Signals Worth Noting

  • 202 response — you found a vendor the network didn't have yet
  • DKIM failure on a known vendor — their email format may have changed
  • All 409s — all billing emails already verified, nothing new
  • Sats/receipt rate change — the reward rate adjusts with BTC price and reserve policy
安全使用建议
This skill does what it claims (search email, fetch raw messages, submit to Crinkl for DKIM verification and sats), but it will upload full raw emails — potentially including sensitive content — to a third‑party MCP server (mcp.crinkl.xyz). Before installing: 1) Confirm you trust Crinkl and that the server and pairing flow are authentic (review the GitHub server and agent repos the skill links to). 2) Prefer the AgentMail path or a dedicated inbox to limit what gets sent, rather than granting broad Gmail access. 3) Verify how/where the CRINKL_API_KEY is stored and that you can revoke it. 4) Ask the publisher to fix the registry metadata mismatch (registry shows no required credentials while SKILL.md requires an API key). If you cannot independently verify the server's behavior or source code, treat the upload of raw emails as a significant privacy risk and avoid installing.
功能分析
Type: OpenClaw Skill Name: crinkl-claws Version: 1.3.2 The skill's purpose is clearly defined as receipt verification and Bitcoin rewards, requiring interaction with an external MCP server (crinkl.xyz) and email content. While it handles full email data and communicates externally, these actions are necessary for its stated function. Crucially, the `HEARTBEAT.md` file includes explicit instructions for the agent to strictly validate vendor domains, discarding any containing 'spaces, quotes, parentheses, or shell metacharacters', which is a strong indicator of security awareness and proactive mitigation against potential shell injection vulnerabilities. There is no evidence of malicious prompt injection, data exfiltration beyond the stated purpose, or other harmful behaviors.
能力评估
Purpose & Capability
The skill's name and description match what the SKILL.md instructs: searching Gmail/AgentMail for billing messages, fetching raw RFC‑2822 emails, and submitting them to the Crinkl MCP server for DKIM verification and reward issuance. The data flows and required MCP tools are logically consistent with the stated purpose.
Instruction Scope
The runtime instructions explicitly require fetching and sending full raw email messages (headers + body) to an external server (https://mcp.crinkl.xyz/mcp) for verification. While DKIM verification does require original bytes, sending entire emails (which may contain personal data or attachments) to a third party is a high‑sensitivity action and relies entirely on trusting the remote server's discard/no‑logging claims. The instructions also request persistent tracking of submitted message IDs in agent memory.
Install Mechanism
This is an instruction-only skill with no install script or downloaded artifacts, which minimizes file/exec risk. It relies on other skills (gog, agentmail) for Gmail access, but does not itself install code from external URLs.
Credentials
The SKILL.md/metadata require a CRINKL_API_KEY obtained by a pairing flow and stored in agent memory; that credential is proportional to the functionality. However, the registry summary at the top claims 'Required env vars: none' while the SKILL.md metadata documents a required credential — this metadata mismatch is an inconsistency you should confirm.
Persistence & Privilege
The skill is not marked always:true and does not request elevated platform privileges. Storing the API key in agent memory and tracking submitted message IDs are reasonable for ongoing operation.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install crinkl-claws
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /crinkl-claws 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.3.2
Fix security-flagged language in skill docs.
v1.3.1
Add AgentMail as alternative email provider. Dedicated vendor-scoped inbox, no OAuth. Human approves inbox address during pairing.
v1.3.0
Add AgentMail as alternative email provider. Submit all inbox messages (no vendor filtering). Unknown vendors get queued and added to allowlist via 202 flow. Fix API field shapes. Remove raw HTTP patterns.
v1.2.2
Declare CRINKL_API_KEY credential in registry metadata. Describes pairing flow, agent-memory storage, and revocability. Addresses scanner inconsistency flag.
v1.2.1
Remove shell command patterns from HEARTBEAT.md. Add domain validation after vendor fetch. Gmail queries are now API data strings, not CLI commands. Addresses command injection scanner flag.
v1.2.0
Declare crinkl MCP server dependency (requires.mcp). Replace all raw HTTP calls with declared MCP tool names (submit-receipt, verify-receipt, get-vendors, pair-agent, claim-api-key, get-agent-me). Should resolve suspicious code insights classification.
v1.1.0
Rewrite description for discoverability (benefit-first, search keywords, crinkl.xyz URL). Fix vendor examples. Add install command. Expand trigger words.
v1.0.1
Remove metadata inconsistencies, simplify to single verified gmail path (gog), tighten privacy section.
v1.0.0
Verify billing emails via DKIM signatures, earn BTC over Lightning. Device pairing flow — agent self-pairs with 4-char code. Works with gog, gmail, or any email skill.
元数据
Slug crinkl-claws
版本 1.3.2
许可证
累计安装 0
当前安装数 0
历史版本数 9
常见问题

Crinkl Claws 是什么?

Receipt verification and Bitcoin rewards by Crinkl (https://crinkl.xyz). Scans Gmail or AgentMail for billing emails, verifies DKIM signatures, and earns ~15... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 403 次。

如何安装 Crinkl Claws?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install crinkl-claws」即可一键安装,无需额外配置。

Crinkl Claws 是免费的吗?

是的,Crinkl Claws 完全免费(开源免费),可自由下载、安装和使用。

Crinkl Claws 支持哪些平台?

Crinkl Claws 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Crinkl Claws?

由 alvin(@alvintanpoco)开发并维护,当前版本 v1.3.2。

💬 留言讨论