Skip to content

feat(sell): add storefront branding profile and /api/storefront.json#663

Open
HananINouman wants to merge 6 commits into
mainfrom
feat/storefront-customize
Open

feat(sell): add storefront branding profile and /api/storefront.json#663
HananINouman wants to merge 6 commits into
mainfrom
feat/storefront-customize

Conversation

@HananINouman

@HananINouman HananINouman commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Operators set display name, tagline, and logo with obol sell info set, independent of individual ServiceOffers. The controller publishes those fields in the /api/services.json catalog envelope, and the public storefront reads them for the header, metadata, OG image, and favicon.

Summary

Screenshot 2026-06-24 at 9 33 45 AM

What changed:

Why it matters:

Risk level:

Commit under test:

Base branch:

Scope

  • Code
  • Charts / manifests
  • Flows / QA scripts
  • Docs / skills
  • Images / dependencies
  • Other:

Validation

CI checks:

Check Status Link

Unit tests:

<!-- command, result, commit/SHA -->

Integration tests:

<!-- command, result, commit/SHA -->

Flow tests:

Flow Network QA machine label Worktree Result Artifacts

Release smoke:

<!-- command, flags, result -->

Live Chain Evidence

Do not include private keys, seed phrases, passwords, hostnames, personal paths, or raw bearer tokens.

Network:

RPC/provider:

Facilitator:

Contracts and tokens:

Name Address Version / notes

Wallet roles:

Role Address Source
Alice / seller / register
Bob / buyer / payer
Facilitator / receiver

Balances:

Token Address Before After Expected delta Actual delta

Transaction receipts:

Purpose Tx hash From To Amount / event Status
ERC-8004 registration
Metadata / service offer
Approval / permit
Purchase request
Settlement transfer

Runtime Evidence

QA environment:

Item Value
OS / arch
Backend
Tool versions
QA agent/model

Images:

Component Image Tag / digest Source

Kubernetes / stack:

Item Value
Stack IDs
Namespaces
Pod readiness
Cleanup result

Model and routing:

Item Value
Agent/model used
LiteLLM route
Paid endpoint status
Auth token source

Artifacts and logs:

Artifact Location / link Notes

Demo readiness:

Item Status Notes
Seller visible / registered
Buyer discovery works
Paid route works
Settlement visible on-chain

Review Notes

Known gaps:

Follow-ups:

Reviewer focus:

Let operators set display name, tagline, and logo via `obol sell storefront`
independent of ServiceOffers. Controller publishes /api/storefront.json; the
public storefront consumes it for header, metadata, OG image, and favicon.

Co-authored-by: Cursor <cursoragent@cursor.com>
@HananINouman HananINouman requested a review from OisinKyne June 23, 2026 18:57
HananINouman and others added 5 commits June 23, 2026 22:23
Add a dedicated x402/obol-storefront-profile informer so controller
republishes storefront.json on branding changes. Wrap fetchStorefront/
fetchServices in React.cache(), use ProfileNamespace for profile reads,
and log marshal failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
Always show "Agent services" as the page title; use profile tagline in the
hero and displayName in the custom header so seller name is not duplicated.

Co-authored-by: Cursor <cursoragent@cursor.com>
Move displayName, tagline, and logoUrl into the public catalog, remove the
separate storefront.json route, and configure branding via obol sell info.

Co-authored-by: Cursor <cursoragent@cursor.com>
feat(sell): embed seller branding in /api/services.json envelope
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.

1 participant