Skip to content

Add casing aliases for card programs + MPP/X402 protocols - #32

Open
alicecha wants to merge 7 commits into
mainfrom
alice/payments-casing-aliases
Open

Add casing aliases for card programs + MPP/X402 protocols#32
alicecha wants to merge 7 commits into
mainfrom
alice/payments-casing-aliases

Conversation

@alicecha

Copy link
Copy Markdown
Contributor

Summary

  • Three card-program palette entries had aliases that didn't match the casing emitted by payments.card_transactions. Added the missing case variants so chart series pick up the brand color instead of falling back to a default.
  • Added new entries for MPP and X402 (agentic payment protocols used as series in the agentic showcase tab; payments.agentic_payments.payment_protocol emits lowercase mpp / x402).

Changes

Entry Was Now
Gnosis Pay gnosis pay, gnosis_pay gnosis pay, Gnosis pay, gnosis_pay, GNOSIS_PAY, GNOSIS PAY
SafePal safepal safepal, Safepal, SAFEPAL
Ether.fi ether.fi ether.fi, Etherfi, ETHERFI
MPP (new) hex #14B8A6, aliases mpp, Mpp
X402 (new) hex #7C3AED, aliases x402

Test plan

  • JSON syntax validates
  • Passes schema.json validation (jsonschema -i color-palettes.json schema.json → exit 0)
  • No new duplicate keys/aliases introduced
  • Verify on payments-showcase Vercel preview (/collection/payments/cards) that Gnosis Pay / SafePal / Etherfi swatches match the brand colors after merge
  • Verify agentic tab uses MPP/X402 colors

Note on Etherfi vs etherfi

The palette already has a separate etherfi entry (#2F1769) for the LRT context (aliases etherfi, weeth, eeth). This PR ties the dataset-casing Etherfi to Ether.fi (#00B4D8, the card-program color from #30), not to the LRT key.

🤖 Generated with Claude Code

alicecha and others added 4 commits May 29, 2026 15:34
Card-program palette keys didn't match the casing emitted by
payments.card_transactions (curated-data). The data uses:
- "Gnosis pay" (lowercase p) — palette had only "gnosis pay" alias
- "Safepal" (lowercase p) — palette had only "safepal" alias
- "Etherfi" (titlecase, no dot) — palette had only "ether.fi" alias

Without the canonical casings as aliases, chart series fell back to
a default color. Added case variants on each so any reasonable casing
resolves correctly.

Also added MPP and X402 (agentic payment protocols) with aliases for
the lowercase forms 'mpp' and 'x402' that payments.agentic_payments
emits as payment_protocol values.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
New entries needed for stable colors on the commerce flows showcase
tab (where chart series come from heuristic_id, party_pair, protocol,
and stablecoin category columns):

- Party pairs: B2B (#475569), C2B (#059669), B2C (#4F46E5)
- Chart 2 buckets: Cards (#EA580C), Agentic (#D946EF), Payments (#BE123C)
- Payment processors: BVNK, Coinbase Commerce, Request Network,
  Shopify CPP, Stripe (brand colors where well-known, otherwise
  picked to not clash with existing card colors)

Casing aliases on each so the resolver picks them up regardless of
how the dataset reports them (e.g. 'shopify_base_cpp' as emitted by
payments.commerce_flows.protocol vs the display name 'Shopify CPP').

No exact-case duplicates introduced.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Validator matches aliases case-insensitively (README confirms), so the
casing variants added earlier were redundant duplicates. Keep one form
per case-equivalent group across the affected protocols.

Drop "Etherfi"/"ETHERFI" from Ether.fi to avoid colliding with the
separate existing etherfi protocol.

Reframe Payments as a category alongside cex/dex/lending using a hex
from the Carto Vivid palette family.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The commerce flows showcase combined its by-party-pair and by-category
charts into a single 5-series chart:
- C2B - Cards (lighter green, matches C2B family)
- C2B - Other (lime)
- B2B - Agentic (lavender, matches B2B slate family)
- B2B - Other (lighter slate)
- B2C (existing, unchanged)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@alicecha
alicecha marked this pull request as ready for review June 1, 2026 09:30
@alicecha
alicecha requested a review from lorenz234 June 1, 2026 09:31
@cursor

cursor Bot commented Jun 1, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Data-only JSON palette additions with no runtime logic, auth, or data handling changes.

Overview
Extends color-palettes.json so payments dashboards can resolve series labels to stable brand colors instead of grey defaults.

Adds a payments category swatch (#99c945) and a block of new keys for payments showcase charts: agentic protocols (MPP, X402), segment labels (B2B, C2B, B2C, cards/agentic splits), and provider names (BVNK, Coinbase Commerce, Request Network, Shopify CPP, Stripe), each with hex values and lowercase/snake_case aliases for dataset casing.

If merged with the casing work described in the PR body, card-program entries like Gnosis Pay, SafePal, and Ether.fi would also gain extra alias variants so payments.card_transactions labels match—verify the full branch diff if those edits aren’t in this snippet.

Reviewed by Cursor Bugbot for commit 713659e. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix prepared fixes for both issues found in the latest run.

  • ✅ Fixed: MPP entry missing Mpp alias from spec
    • Added the missing Mpp alias to the MPP palette entry so title-case values now map correctly.
  • ✅ Fixed: Missing casing aliases for three card program entries
    • Updated Gnosis Pay, SafePal, and Ether.fi alias lists with the specified casing variants so emitted values match the intended palette colors.

Create PR

Or push these changes by commenting:

@cursor push 503724beb2
Preview (503724beb2)
diff --git a/color-palettes.json b/color-palettes.json
--- a/color-palettes.json
+++ b/color-palettes.json
@@ -973,7 +973,7 @@
   },
   "Gnosis Pay": {
     "hex": "#1EAF8B",
-    "aliases": ["gnosis pay", "gnosis_pay"]
+    "aliases": ["gnosis pay", "gnosis_pay", "Gnosis pay", "GNOSIS_PAY", "GNOSIS PAY"]
   },
   "Holyheld": {
     "hex": "#F4803B",
@@ -1001,7 +1001,7 @@
   },
   "Ether.fi": {
     "hex": "#00B4D8",
-    "aliases": ["ether.fi"]
+    "aliases": ["ether.fi", "Etherfi", "ETHERFI"]
   },
   "Cypher": {
     "hex": "#6366F1",
@@ -1013,7 +1013,7 @@
   },
   "SafePal": {
     "hex": "#2563EB",
-    "aliases": ["safepal"]
+    "aliases": ["safepal", "Safepal", "SAFEPAL"]
   },
   "Exa": {
     "hex": "#0EA5E9",
@@ -1021,7 +1021,7 @@
   },
   "MPP": {
     "hex": "#14B8A6",
-    "aliases": ["mpp"]
+    "aliases": ["mpp", "Mpp"]
   },
   "X402": {
     "hex": "#7C3AED",

You can send follow-ups to the cloud agent here.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 713659e. Configure here.

Comment thread color-palettes.json
Comment thread color-palettes.json
lorenz234 and others added 3 commits June 10, 2026 14:19
Co-authored-by: Lorenz Lehmann <lorenz234@users.noreply.github.com>
Co-authored-by: Lorenz Lehmann <lorenz234@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants