Loyal Spark
io.github.aspekt19/loyal-sparkBase MCP (39 tools) on Base: programs, mint, rewards. lsk_ key; plan limits enforced. /for-agents
Watch this dependency
Get before/after evidence when observed tools, schemas, authentication access, availability or the endpoint changes.
Inspect evidence and set up a watch Share public evidence report
Score: 100/100
Handshake verified by our own probe.
why this score
Tools · 42
Get info about Loyal Spark protocol on Base L2
Get authenticated agent's profile
Workflow planner: field catalog, required parameters, next_actions, and non-binding examples. External agents must choose their own name, symbol, and economics.
Explain the next merchant action: current_step, required fields, and ordered next_actions (you provide all parameter values)
List loyalty programs owned by the agent's merchant
Get factory calldata to deploy a new loyalty token on Base. Defaults to B20 (Base-native B20 asset standard, ERC-20 compatible, single tx, active immediately). Pass token_standard='erc20' for the lega…
Register a deployed token as a loyalty program in the database. B20 tokens are registered as active; legacy ERC-20 as inactive (activate next).
For legacy ERC-20 programs: returns unpauseUtility + enableMinting calldata. For B20 programs: no-op (already active).
Update program status in database after onchain activation/pause
Update default cashback_rate and/or points_per_dollar for a program (same as merchant dashboard sliders)
List rewards for a loyalty program by token_address. Includes redemption metrics (total vouchers issued, redeemed, and last-30-day counts) for each reward.
Create a new reward redeemable with loyalty tokens
Record mint intent and get a fee-first `calls[]` bundle: protocol fee mint FIRST, then the recipient mint. The protocol fee is charged in the merchant's own loyalty tokens (not USDC). Submit both call…
Get calldata to transfer loyalty tokens between wallets
Calculate and mint loyalty tokens based on purchase amount and program's cashback rate, optionally redeeming existing points at checkout (points_to_redeem or redeem_all) to reduce the payable receipt …
Confirm a prepared mint on Base. Verifies the protocol-fee mint and, when recipient_tx_hash is set (or the fee receipt already contains the recipient mint), writes customer_tier_status so get_token_ba…
List mint intents for this merchant. status=pending means transaction_hash is still null (confirm has not credited the recipient). status=completed means the recipient mint was recorded. GET /balance …
List protocol-fee obligations for this API key. status=unpaid is an alias for pending. Each unpaid row includes next_action describing POST /mint/confirm.
Get loyalty token balance and tier info for a customer (accepts 0x Base wallet address or customer email in customer_address / customer_email)
Get analytics for one of your loyalty programs
List active token trading offers on the marketplace
Redeem a reward by providing a verified token transfer transaction hash. Creates a voucher for the customer.
Mark a voucher as used at the merchant. Send one of voucher_code or voucher_id (anyOf). If neither is sent the tool returns error_code missing_identifier and an example.
Check voucher status for this merchant. Send one of code, voucher_code, or voucher_id (anyOf). If none is sent the tool returns error_code missing_identifier, an example, and next_action. Anonymous pu…
Create a personalized offer for a specific customer. Use when analytics reveal engagement patterns (e.g., inactive customers, high-value segments).
Activate or deactivate a reward in the catalog. Use to manage reward availability based on analytics.
Internal. Send a report to the merchant's Agent Reports dashboard (SEO audits, growth ideas, anomalies, weekly summaries). Not a loyalty action.
Internal. List reports this agent submitted (status new, reviewed, or done).
Internal. Set a report you submitted to reviewed or done.
Internal. Delete a report you submitted.
Export customer data for a specific loyalty program. Returns wallet addresses, voucher stats, balances, and tier info. Use for analytics, segmentation, and personalized offers.
List discount codes for this merchant's Shopify store, plus how customers spend points (online code, register voucher, or both).
Mark a Shopify discount code used, or cancel it and return the loyalty points. Same actions as the merchant discount-code journal.
Set how this store's customers spend loyalty points: online (checkout code), offline (voucher at the register), or both (the shopper chooses).
Create a gift / welcome certificate (UDS-style) with a unique random redemption code (LOYAL-XXXX-XXXX-XXXX). Customer redeems via QR or by entering the code; merchant then mints tokens on-chain. Use f…
List gift certificates issued by the agent's merchant (with status and redemption info).
Revoke an active gift certificate (status active -> revoked). Only the issuing merchant can revoke. Already-redeemed/minted certificates cannot be revoked.
After the merchant submits the on-chain mint transaction for a claimed gift certificate, call this to mark it as minted (status pending_mint -> redeemed) and store the mint tx hash.
Discover third-party x402-paid resources published in Coinbase CDP's Bazaar (docs, data feeds, AI inference, etc). Read-only. Filter by free-text q and/or network (e.g. 'base').
Search Coinbase CDP's Bazaar MCP catalog (search_resources) for third-party x402-payable tools. Read-only, free. Rows are run via the Bazaar MCP server's proxy_tool_call, not here.
Probe one x402 resource URL without paying: a single GET (https only, 5 s, 64 KB, no redirects). If it answers HTTP 402, returns a parsed summary of the x402 payment requirements (PAYMENT-REQUIRED hea…
Pay a Loyal Spark x402 URL on api.loyalspark.online with the merchant agent's CDP MPC wallet (EIP-3009 exact scheme, Base USDC). Other hosts are refused before any signature. Requires scope 'mint' and…
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"loyal_spark": {
"url": "https://api.loyalspark.online/loyalty-mcp",
"transport": "streamable-http"
}
}
}