Borrowing it
Nothing to install: this file belongs to aspekt19/unboxed-loyalty-spark. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/aspekt19/unboxed-loyalty-spark/a2a-agents/.cursorrulesgit clone --depth 1 https://github.com/aspekt19/unboxed-loyalty-sparkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/aspekt19/unboxed-loyalty-spark/cursorrules)<a href="https://agentmods.dev/rules/aspekt19/unboxed-loyalty-spark/cursorrules"><img src="https://agentmods.dev/badge/rules/aspekt19/unboxed-loyalty-spark/cursorrules/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/aspekt19/unboxed-loyalty-spark/cursorrules"><img src="https://agentmods.dev/badge/rules/aspekt19/unboxed-loyalty-spark/cursorrules.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.03249 | $0.03249 |
| Opus 5.5 | $0.01300 | $0.01300 |
| Sonnet 5.5 | $0.00650 | $0.00650 |
| Haiku 4.5 | $0.00325 | $0.00325 |
Grade A, and why
cursorrules scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.
LoyalSpark — Onchain Loyalty Protocol
Project Overview
Web3-powered loyalty platform built on Base Mainnet (Chain ID: 8453). Dual-mode: humans via Web UI (Coinbase Google/email + SIWE for external wallets), AI agents via REST API / MCP Server.
Tech Stack
- Frontend: React 18, TypeScript, Vite 5, Tailwind CSS 3, shadcn/ui (Radix), Framer Motion, Sonner
- Onchain: Wagmi v2, Viem, RainbowKit, Base Mainnet (chain id 8453);
oxwhere low-level helpers fit - Auth & wallets: Coinbase CDP Embedded Wallets (
@coinbase/cdp-hooks,@coinbase/cdp-wagmi) + SIWE (nonce +siwe-verify) for wallet-linked Supabase sessions - Farcaster:
@farcaster/auth-kit,miniapp-sdk,frame-sdk,@farcaster/miniapp-wagmi-connector - Mobile: Capacitor 8 (iOS/Android) alongside the web app
- PWA:
vite-plugin-pwa - Backend: Supabase (Deno Edge Functions, Postgres RLS, Realtime)
- Agent server wallets: Coinbase CDP MPC via
agent-walletEdge Function - State: TanStack Query v5
- Routing: React Router DOM v6
- Forms: React Hook Form + Zod (
@hookform/resolvers) - Data viz: Recharts (dashboards)
- Agent surface: REST (
agent-api) + MCP (loyalty-mcp)
Smart Contracts (Base Mainnet)
- B20 Factory (default new programs): 0xB20f000000000000000000000000000000000000
- LoyaltyTokenFactory (legacy ERC-20): 0x5F3DdBa12580CFdc6016258774cCc19C4250dA80
- LoyalSparkERC20 (legacy implementation): 0xe6BA426C9c51281B929a17444De02c65815E27C3
Authentication
- Humans: Coinbase Google / email (smart account) or external wallets; Supabase session via
cdp-auth+src/hooks/useIdentity.tsx/src/lib/socialAuth.ts - Wallet-only path: SIWE message +
siwe-nonce/siwe-verifyEdge Functions (still used for wagmi-connected wallet login) - Merchant / Customer headers: Profile is shown only when
useAuth().userexists; order is Theme → Profile (if signed in) → Wallet. Seedocs/development/PORTALS_AND_TEAM.md. - Farcaster Mini App: detect FC context (
@farcaster/miniapp-sdk) and avoid fighting Mini App lifecycle in auth UI - AI Agents: API keys with
lsk_prefix, hashed in DB (unchanged server rules)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +7 tokens per session 72b7e11fdee0
- 1mo ago Changed · +1 lines · +20 tokens per session fab7b5f5823c
- 2mo ago Changed · -15 tokens per session 7d5188470986
- 2mo ago First seen · 217 lines · 3,237 tokens per session scan A aea283483a6c
cursorrules is a cursor rule published in the GitHub repository aspekt19/unboxed-loyalty-spark (1 stars, last pushed 27d ago), licensed MIT. It adds 3,249 tokens to every session, about $0.0130 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
cursorrules compared with cursor rules from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| cursorrulesaspekt19/unboxed-loyalty-spark | Cursor rule | 1 | 27d ago | MIT | A | 3,249 | Cursor |
| solana-integration-constraintsMetaMask/metamask-connect-cursor-plugin | Cursor rule | 2 | 1mo ago | MIT | A | 1,207 | Cursor |
| cardano-mcpJimmyh-world/Cardano_MCP | Cursor rule | 1 | 1y ago | MIT | A | 3,030 | Cursor |
| solana_core_architectureAIFlowML/cursor_rules | Cursor rule | 24 | 1y ago | none | A | 4 | Cursor |
| elizaos_v2_onchain_pluginsAIFlowML/cursor_rules | Cursor rule | 24 | 1y ago | none | A | 0 | Cursor |
| tactton-ai-core/contract-knowledge | Cursor rule | 17 | 1y ago | none | A | 614 | Cursor |
| stacks-developmentMcsavvy/stacks-next-template-chainhooks-with-db | Cursor rule | 4 | 10mo ago | none | A | 7 | Cursor |