Skip to content

v0.12.0-rc0 - Custom Storefronts

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Jul 02:42
· 283 commits to main since this release

Obol banner

v0.12.0-rc0 — Make the storefront yours

Brand your storefront, sell it from more than one domain, and give the agents shopping it a cleaner buy flow.

v0.11.0 opened up the agent marketplace — bring-your-own-key inference, multi-currency offers, and permanent Cloudflare tunnels. v0.12.0 builds on that shopfront: set your storefront's name, tagline, and logo, expose it on more than one domain, and a tidier buy experience for the agents purchasing your services — plus payment-correctness and dependency fixes.

Get started with obol sell demo for a hello-world service, then obol model setup and obol sell demo quant to put a model-backed agent up for sale. Tag @Obol_Collective on X with your storefront URL and maybe we'll check it out. 👀 Once you've services up on a permanent URL, consider listing them on x402scan.

Quant Agent turn for sale for 10 OBOL

Note

Base Sepolia ETH faucet · Base Sepolia USDC faucet.

Warning

This software is early alpha, you could lose what you put in. Please use caution when it comes to non-testnet assets.

Install / Upgrade

# Install this release
OBOL_RELEASE=v0.12.0-rc0 bash <(curl -s https://stack.obol.org)

# Run the stack
obol stack init && obol stack up

# Brand your storefront, then preview it as buyers see it
obol sell info set --display-name "Acme Labs" --tagline "Paid APIs." --logo-url "https://acme.example/logo.png"
obol sell info

# Stand up a paid service and an agent that uses a model
obol sell demo
obol sell demo quant

Release Highlights

Storefront branding — name, tagline, and logo

obol sell info set sets your storefront's display name, tagline, and logo. They flow into the public catalog (/api/services.json), the storefront landing page, and its OpenGraph/social preview. obol sell info shows the storefront and everything on sale exactly as buyers see it, and obol sell info <name> focuses a single service with how-to-buy instructions.

obol sell info set --display-name "Acme Labs" --tagline "Paid APIs."
obol sell info

Sell from more than one domain — multi-hostname tunnels

obol tunnel hostname add puts your storefront on additional domains without disturbing the ones already live, obol tunnel hostname list shows them, and obol tunnel delete tears a tunnel down cleanly. Headless setups now reuse an existing cloudflared cert.

Cleaner buy flow

HTTP service cards link straight to Swagger UI and openapi.json, and the buy prompts are clearer — they require a real task and tidy up the agent, inference, and HTTP copy.


Smaller wins

  • Base Sepolia USDC payments — corrected the USDC EIP-712 domain name to "USDC" (it's FiatTokenV2_2, not mainnet's "USD Coin"), so real facilitators accept otherwise-valid signatures.
  • Multi-currency --accept — stopped cli/v3 from comma-splitting a multi-currency --accept value, so multi-token offers parse whole.
  • x402 Go SDK — bumped to /v2 (v2.16.0).
  • Frontend v0.1.28-rc0 — storefront/UI refresh bundled in.
  • Dependency & client bumps — Hermes agent, cloudflared, Gateway API v1.6.0, Ethereum EL/CL clients, Aztec, and the obolup.sh toolchain (kubectl, helm, k3d, helmfile, k9s, ollama).

Breaking changes / Migration notes

  • /api/services.json is now an envelope, not a bare array: { "displayName", "tagline", "logoUrl", "services": [ … ] } (services moved under the services key). This backs storefront branding, and there is no backward compatibility — update sellers and buyers together (obol update on every stack). A current buyer against an un-upgraded seller (still serving the old array) will fail to read the catalog.
  • No schema or volume-ownership breaks since v0.10.0 — upgrading in place is otherwise expected to work.

What's Changed

  • fix(x402): require a real task in storefront buy prompts by @HananINouman in #650
  • chore(deps): update aztecprotocol/aztec docker tag to v4.4.0 by @github-actions[bot] in #575
  • chore(deps): update obolup.sh dependency updates by @github-actions[bot] in #603
  • chore(deps): update dependency kubernetes-sigs/gateway-api to v1.6.0 by @github-actions[bot] in #678
  • chore(deps): update ethereum el/cl client updates by @github-actions[bot] in #658
  • chore(deps): update cloudflare/cloudflared docker tag to v2026.6.1 by @github-actions[bot] in #642
  • chore(deps): update nousresearch/hermes-agent docker tag to v2026.6.19 by @github-actions[bot] in #659
  • Chore/dev docs and storefront api links v2 by @HananINouman in #676
  • ci: repin x402 pins via a release-time PR, not a push to main by @bussyjd in #662
  • feat(sell): allow for the control of your storefront branding by @HananINouman in #663
  • fix(sell): keep multi-currency --accept whole (disable cli/v3 comma split) by @bussyjd in #665
  • chore(deps): bump x402-foundation/x402/go to /v2 (v2.16.0) by @bussyjd in #672
  • test(smoke): flow-12 runnable on macOS + against override facilitator images by @bussyjd in #636
  • fix(x402): base-sepolia usdc eip-712 domain is usdc by @OisinKyne in #681
  • feat(tunnel): multi-hostname support, headless cert reuse, and tunnel delete by @bussyjd in #670
  • chore: latest docker images by @OisinKyne in #682

Full Changelog: v0.11.0...v0.12.0-rc0