PG Award Proposal: Stellar Registry - #111
Closed
willemneal wants to merge 7 commits into
Closed
Conversation
Q3 renewal: Q2 retroactive impact and deliverable evidence, Q3 goals. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
willemneal
marked this pull request as draft
July 6, 2026 18:16
Per team feedback: each deliverable now opens with what shipped and names exactly what remains; adds "Beyond the proposal" section for unproposed infrastructure wins. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
contracts#14 merged and executed; retroactive impact, past D1, and Q3 D1 now reflect the live mainnet contract, with indexer + UI cutover as the remaining rollout. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Willem Wyndham <willem@wyndham.tech> Signed-off-by: Chad Ostrowski <221614+chadoh@users.noreply.github.com>
Co-authored-by: Willem Wyndham <willem@wyndham.tech> Signed-off-by: Chad Ostrowski <221614+chadoh@users.noreply.github.com>
Co-authored-by: Chad Ostrowski <221614+chadoh@users.noreply.github.com> Co-authored-by: Willem Wyndham <willem@wyndham.tech> Signed-off-by: Willem Wyndham <willem@wyndham.tech>
Reflows the web-UI review-suggestion commits to the repo's 101-column prettier format; no content changes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
chadoh
marked this pull request as ready for review
July 7, 2026 01:18
Contributor
|
Closing in favor of #117, which is a branch on the main repo so the gh action can pass |
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stellar Registry
Stellar Registry is an on-chain smart contract registry for Soroban that lets developers publish,
version, discover, and deploy Wasm binaries and contract instances, making contracts reusable across
the ecosystem like packages.
Project Description
Registry is the missing infrastructure layer between "I wrote a smart contract" and "the ecosystem
can safely use my smart contract."
Registry tracks two things:
well as tracking a contract's owner and its Wasm.
(Wasm) binary that defines its behavior. Many contracts can use the same Wasm binary, but today
that's impractical because Wasms are identified only by a gobbledigook ID.
Registry makes these usable. It gives them both names and versions, making the development
experience feel like familiar package management—like crates.io or NPM.
Team & Experience
Scaffold Stellar is built and maintained by The Aha Company (formerly Aha Labs), a team of 10+
senior engineers deeply embedded in the Stellar ecosystem.
Early Soroban origin:
In 2022 (before Soroban had a name) SDF already had a clear ambition: launch their upcoming smart
contract platform with a “batteries-included” developer experience. The gap was execution capacity:
there was no in-house team available to design and implement the developer workflows needed to make
that promise real. Tyler van der Hoeven went to major blockchain conferences to find the right team,
and identified The Aha Company as the team with the right combination of product mindset and deep
technical ability to “install the batteries.”
Foundational Stellar developer workflows we designed and shipped:
We envisioned, architected, and implemented several of the workflows that have become core to Soroban
development on Stellar, including:
contract invokebehavior and associateddeveloper ergonomics that leapfrog, rather than ape, other blockchain ecosystems, simplifying
testing, deployment, and interaction.
stellar-sdk-js, which helps application developers interact with contracts more safely and
predictably.
Why we were selected for Scaffold Stellar and our SCF track record:
In early 2025, SDF searched for a team that could bring a ScaffoldETH-like end-to-end experience to
Stellar. They selected us based on:
https://communityfund.stellar.org/project/smart-deploy-yoj
https://communityfund.stellar.org/project/loam-qj5
Scaffold Stellar is a direct continuation of that work: turning the hard-won Developer Experience
(DevX) knowledge from core tooling into a “front door” experience that helps developers go from idea
to proof-of-concept quickly, with strong defaults and a convention-over-configuration approach.
Ongoing maintenance and production-grade integration experience:
Since then, we have remained engaged with SDF to support and maintain key tooling (most recently
improving Stellar CLI handling of hardware-based keys) and we continue to operate as an
integration partner on production deployments. Notably, we architected and developed Société
Générale’s EURCV on Stellar (now live), bringing a rigorous, real-world perspective to developer
tooling and reliability requirements.
Deep community participation and ecosystem leadership:
Our team includes well-known ecosystem contributors. Several members hold key community roles (e.g.,
SCF Pilot, category delegates) and actively build their own SCF projects (e.g., Moonlight,
Tansu, Stellar Merch Store, PG Atlas). We contribute to protocol and tooling discussions, provide
developer support at hackathons and conferences, and invest heavily in community outreach and
education. We show up consistently at major events and actively communicate about Stellar, both its
strengths and the practical realities builders need to know.
Cross-ecosystem perspective (DevX benchmarking):
Beyond Stellar, The Aha Company is also an integration partner in other ecosystems (e.g., Filecoin,
XRPL, Cardano, Canton, Starknet). This gives us a unique ability to benchmark developer experience
across chains and bring proven patterns back to Stellar—while keeping Scaffold Stellar aligned with
what developers expect from modern, full-stack tooling.
Retroactive Impact
In Q2 2026 the Registry grew from a testnet prototype into production infrastructure — deployed to
mainnet at the close of the quarter — with its own organization, on-chain governance, verified
builds, and a real data platform behind rgstry.xyz.
The Registry is live on mainnet. The registry contract is deployed to Stellar mainnet at its
deterministic, salt-derived ID
CDU4M3LDIOUJJ5F3YXKJ4EJEP5VPRPG6N2LJ5HOQIMN7MNGL3NS3EGUY(baked intothe CLI) via the phased deploy pipeline (stellar-registry/contracts#14, merged 2026-07-06), seeded
with verified ecosystem contracts (circle, soroswap, blend, defindex, xlm). The mainnet indexer
pipeline and the rgstry.xyz mainnet cutover are rolling out this week.
Registry became standalone infrastructure. The Registry was split out of the
theahaco/scaffold-stellar monorepo into its own GitHub organization,
github.com/stellar-registry, with four repos —
cli,contracts,ui, andindexer— each with full history preserved, scoped CI, dependabot, andrewritten documentation. The Registry now stands on its own, as promised in our Q2 proposal ("the
Registry stands independently and is designed to serve the entire Soroban developer community").
Five on-chain registry releases. Registry contract versions v0.5.0 through v0.6.2 shipped in
April, adding contract flagging with a gas-optimized storage encoding (unflagged entries pay zero
overhead on the hot invocation path),
SubRegistryevents, cross-registry deploys(
deploy_with_subregistry) that record provenance on Deploy events, deterministic salt-derivedcontract IDs, and dry-run deploy options.
On-chain governance shipped. The Tansu-DAO-gated registry manager contract merged
(stellar-registry/contracts#5): a manager whose
trigger(proposal_id)entry point executes anapproved Tansu DAO proposal (e.g.
registry.publish_hash/registry.deploy) in a singletransaction. Verified live end-to-end on testnet: proposal → vote → trigger → publish, with
replay-guard rejection confirmed.
Verified builds are live. We adopted the stellar-expert/soroban-build-workflow for releases
(stellar-registry/contracts#10), replacing 243 lines of bespoke CI with environment-gated, OIDC
build-provenance-attested releases, and published the first verified build of the registry contract.
We also submitted a Contract Source Verification RFP to the SCF Build Award RFP track and
collaborated with Ethan Frey (Confio) on its technical architecture.
The indexer went v1. The first mainnet-ready pipeline & API (stellar-registry/indexer#5) moved
data into a versioned schema, added auto-discovery of named subregistries (oz, blend, soroswap,
defindex), and grew an archive pipeline exposing full per-contract version history
(stellar-registry/indexer#14), including versions that predate contract's addition to Stellar
Registry. June added structured logging with request-id tracing and a trigram index enabling fuzzy
server-side search (stellar-registry/indexer#23).
rgstry.xyz matured. The UI gained a testnet/mainnet network switch with per-environment
Cloudflare Worker deploys, in-UI usage guides for the import macros, README/LICENSE rendering from a
contract's GitHub repo, contract metadata on detail pages, server-side search, and request-id-traced
error reporting — 18 merged PRs in the quarter.
Releases and toolchain. Crates published:
stellar-registryv0.0.8–v0.0.10,stellar-registry-cliv0.0.20/v0.0.21,stellar-registry-buildv0.0.8. The contracts and CLI bothmoved to soroban-sdk v27 / stellar-cli v27 (stellar-registry/contracts#11, stellar-registry/cli#13).
Past Deliverables
Every deliverable below has merged, verifiable work behind it this quarter; where release mechanics
remain, the item states exactly what is left. We also shipped substantial infrastructure beyond the
proposed scope — see "Beyond the proposal" at the end of this section.
D1. Mainnet Deploy of Stellar Registry
Description from last quarter:
Proof of completion:
— the registry contract live on mainnet at its deterministic, salt-derived ID
dry-run-by-default
deploy_mainnet.shplus verified mainnet seed data (circle, soroswap, blend,defindex, xlm), with every contract ID resolved from authoritative sources and confirmed live on
Pubnet
Cloudflare Worker deploys; Mainnet UI scaffolding at stellar.rgstry.xyz
Deployed to mainnet. The phased deploy pipeline merged and executed at the close of the quarter:
the registry contract is live on mainnet at its deterministic ID, seeded with verified ecosystem
contracts, and resolvable via the
stellar registryCLI (the mainnet ID ships baked into the CLI).Remaining for full public accessibility: the mainnet indexer pipeline and pointing
rgstry.xyz at mainnet — rolling out this week — plus secure-store/Ledger
signing for admin operations (stellar-registry/cli#14).
D2.
import_contract!MacroDescription from last quarter:
Proof of completion:
import_contract!macro + consolidate registry macros (stellar-scaffold/cli#419) stellar-registry/cli#17 — full implementation: a proc-macro crate wherestellar_registry::import_contract!(env, name)returns a soroban Client pre-bound to the namedcontract's deployed address, resolved at build time, with 13 unit tests
import…macro examples stellar-registry/ui#10 — real contract IDs in the macro examples shown onevery contract page
Shipped — release mechanics left. The macro is implemented, tested (13 unit tests,
pedantic-clippy clean), and in final review, and rgstry.xyz already teaches developers how to use the
import macros on every contract page. The crates.io publish lands days into Q3.
D3. Flagged Contract Enforcement at Build Time
Description from last quarter:
Proof of progress:
gas-optimized storage encoding (flag encoded in vec length, so unflagged entries pay zero overhead
on the hot path),
FlagContractevents, and error typesimport_contract!macro + consolidate registry macros (stellar-scaffold/cli#419) stellar-registry/cli#17 – PR for D2 implements compile-time errormechanics, preventing contracts from building when their source contracts have been flagged.
D4. Server-Side Search, Pagination & Sorting on rgstry.xyz
Description from last quarter:
Proof of completion:
search
debounced search hook
the contracts table
Shipped for Wasms — live in production. Server-side fuzzy search is merged and answering queries
on rgstry.xyz today, and the API already supports limit/cursor pagination. Remaining: the same
treatment for contracts (stellar-registry/indexer#24, open), the explorer's pagination/sorting UX,
and validation against a 1,000+ entry dataset.
D5. rgstry.xyz UI Enhancements
Description from last quarter:
Proof of completion:
stellar contract info metametadata parsedand exposed in the wasm-detail API (item 2, backend half — the API serves rsver, SDK, CLI, and
build versions plus source repo)
contract's GitHub repo
contract from a Wasm detail page, shipping days into Q3
contract from its rgstry.xyz detail page, shipping days into Q3
Backend and page richness shipped. The metadata API (item 2's backend) is live and serving the
full
contract info metafields, and contract pages gained README/LICENSE rendering beyond theproposed scope. Remaining: surfacing the rest of the metadata fields in the UI, the embedded Contract
Explorer (item 1), and the deploy button (item 3).
D6. Verified Build Integration with Stellar Expert
Description from last quarter:
Proof of completion:
stellar-expert/soroban-build-workflow: environment-gated, with OIDC build-provenance attestation
contract published
to the SCF Build Award RFP track, with architecture collaboration from Ethan Frey (Confio)
(Submit High-Level Technical Architecture Proposal stellar-registry/cli#11, docs(pg-atlas): Update dashboard spec — UX structure and UI field mapping #12)
Shipped — Registry releases are themselves verified builds. Every registry contract release is
now built by the stellar.expert workflow with OIDC build-provenance attestation, and the first
attested release is public. Remaining: displaying the badge on rgstry.xyz detail pages — targeting
contract pages, since we established Stellar Expert has no Wasm-level pages (stellar-registry/ui#17).
D7. Registry Documentation & Education
Description from last quarter:
Proof of completion:
verified/unverified registries, name resolution, publish/deploy CLI usage) and linked as "Guide"
from the rgstry.xyz nav
every contract and wasm page
repo (likewise for contracts, ui, and indexer)
import_contract!macro + consolidate registry macros (stellar-scaffold/cli#419) stellar-registry/cli#17 — design spec and implementation plan documents forimport_contract!Docs shipped in the product; the guide is live. The Registry Guide is live and linked from the
rgstry.xyz nav, every contract and wasm page carries usage guides, and all four standalone repos got
rewritten documentation. Remaining: moving the guide to Registry's own docs site,
import_contract!coverage (follows the D2 release), and the video series.
Beyond the proposal
Infrastructure we shipped this quarter that was not in the Q2 deliverables:
https://github.com/stellar-registry — four repos (cli, contracts, ui, indexer) with full history
preserved, scoped CI, and dependabot.
(feat: tansu-DAO-gated registry manager contract stellar-registry/contracts#5), merged and verified live on testnet end-to-end (proposal → vote →
trigger → publish, replay-guard confirmed).
(chore!: update contracts to soroban-sdk v27 stellar-registry/contracts#11; feat!(stellar-registry-cli): stellar-cli@v27.0.0 stellar-registry/cli#13).
exposing full per-contract version history beyond Registry's existence
(feat: contract version history via archive pipeline + v1 views stellar-registry/indexer#14).
Award track, with architecture collaboration from Ethan Frey (Confio).
Proposed Impact
Complete the mainnet launch. The Registry contract is live on mainnet as of this proposal. Q3
finishes the public rollout: the mainnet indexer pipeline, rgstry.xyz serving mainnet data with the
"Coming Soon" banner removed, and secure-store/Ledger signing for admin operations
(stellar-registry/cli#14) so permanent ecosystem infrastructure is never administered from a raw
secret key — alongside the Tansu DAO-gated governance already in place.
Complete the composability story. Releasing
import_contract!(stellar-registry/cli#17) lets anySoroban developer depend on Registry contracts the way they depend on Rust crates, and the
flagged-contract build-time enforcement extends that with compile-time guarantees that compromised
contracts won't ship.
Make rgstry.xyz a real discovery platform. Finish server-side search across contracts and Wasms,
pagination and sorting, verified-build badges from Stellar Expert, and governance proposal forms that
let anyone propose adding a Wasm or contract to the root registry directly from the browser — closing
the loop from "found a contract" to "deployed it" without leaving the site.
Benefit to the Stellar ecosystem: The Registry is ecosystem infrastructure, not a product
feature. A mainnet Registry with DAO governance, verified builds, and compile-time safety raises the
baseline security and auditability of every Soroban project that consumes shared contracts, and gives
the ecosystem its first crates.io-style package experience for on-chain code.
Proposed Deliverables
D1: Complete the Mainnet Launch (carried from Q2)
With the registry contract live on mainnet, finish the public rollout: run the mainnet indexer
pipeline, point rgstry.xyz at the mainnet API and remove the "Coming Soon" banner, and land
secure-store/Ledger signing in the CLI (stellar-registry/cli#14) so admin operations never expose a
raw secret key.
Proof: mainnet data live and browsable at rgstry.xyz, the contract visible on Stellar Expert, and
named contracts resolvable via
stellar registryCLI.D2: Release
import_contract!(carried from Q2)Merge stellar-registry/cli#17 and publish the macro in released crates, documented with at least one
working example and covered by integration tests.
Proof: a crates.io release containing
import_contract!, linked docs and example, CI running theintegration tests.
D3: Flagged Contract Enforcement at Build Time (carried from Q2)
Extend
import_contract!/import_contract_client!to fail compilation when the referenced Wasm orContract is flagged in the Registry, building on the on-chain flagging that shipped in April.
Proof: a test demonstrating a flagged contract causes a build failure, and documented behavior.
D4: Finish Search, Pagination & Sorting on rgstry.xyz (carried from Q2)
Extend server-side search to contracts (stellar-registry/indexer#24), fix search-result updating
(stellar-registry/ui#22), and ship pagination and sorting so the explorer handles 1,000+ entries
without degraded load time.
Proof: live on rgstry.xyz; search, pagination, and sorting demonstrated against a 1,000+ entry
dataset.
D5: Contract Explorer, Deploy Button & Verified-Build Badges (carried from Q2)
Ship the remaining explorer features: the embedded Contract Explorer on contract detail pages, a
"deploy this Wasm" button, the remaining
stellar contract info metafields surfaced on detailpages, and verified-build status from Stellar Expert on contract detail pages.
Proof: all features live on production rgstry.xyz, manually verified against at least one mainnet
contract.
D6: Governance Operations UI
Ship the governance proposal forms (stellar-registry/ui#16): propose adding a Wasm or contract to the
root registry, creating a subregistry, or changing owners — executed through the Tansu-DAO-gated
registry manager contract that merged in Q2.
Proof: a governance proposal created from rgstry.xyz, voted on in Tansu, and executed on-chain via
trigger, with the transaction linked.D7: Registry Documentation & Education (carried from Q2)
Publish the Registry docs site and video series covering publishing a Wasm, deploying named and
unnamed contracts, using
import_contract!, and publishing/releasing via the verified-build CIworkflow.
Proof: documentation live on the Registry docs site and videos on The Aha Company's YouTube channel.
Legal Acknowledgements