Workspace for upstreaming Stellar support into OWS.
This repository is not a standalone wallet SDK or app. It is the coordination repo for the Stellar workstream around open-wallet-standard/core, with:
- design and planning docs at the top level
- a pinned
ows-core/submodule where the actual implementation work happens
The goal is to make OWS a usable wallet substrate for Stellar, especially for OpenZeppelin-based Soroban smart wallets, without turning OWS into a generic provider framework or a broad cleanup project.
In practical terms, the work is split into two layers:
- this repo defines the scope, architecture, upstream PR plan, and review framing
ows-core/contains the forked OWS codebase where Rust, CLI, and SDK changes are implemented and tested
ows-core/ is a git submodule pointing at the stellar-experimental/ows-core fork. That fork also keeps an upstream remote pointing at open-wallet-standard/core.
The submodule is configured to follow the feat/stellar-smart-wallet branch when using git submodule update --remote, while the parent repo still pins an exact submodule commit for reproducibility.
The intended flow is:
- use the top-level docs in this repo to keep scope tight and explain the why
- implement the actual feature work inside
ows-core/ - cut focused upstream PRs from the fork into
open-wallet-standard/core
This means the top-level repo is the project wrapper, and the submodule is the code that will eventually be upstreamed.
The current project goal is:
- add Stellar as a first-class OWS chain family
- preserve OWS's local vault and policy-gated signing model
- support Stellar smart-wallet flows based on Soroban auth-entry signing
- make OpenZeppelin smart-account
C...identities first-class at the wallet surface while keeping derivedG...signer accounts as the custody anchor underneath - upstream the result in small, reviewable PRs
The docs in this repo consistently frame the work in phases:
- Stellar chain support and wallet profile
- Stellar auth-entry signing surface
- OpenZeppelin smart-account integration
- Channels-backed send flow and hardening
At the top level, this repo currently contains the design and upstreaming documents for the Stellar effort.
Inside ows-core/, the checked-out implementation branch already contains active Stellar work, including:
- Stellar chain registration and wallet/account support
- Stellar signer implementation
- CLI and binding updates
- test vectors and fixtures for Stellar signing flows
The top-level repo exists to keep that implementation tied to a clear spec and an upstreaming plan instead of letting the effort drift into a one-off fork.
.
├── README.md
├── docs/
│ ├── specs/
│ │ ├── ows-stellar-smart-wallet-spec.md
│ │ ├── ows-stellar-smart-wallet-plan.md
│ │ ├── ows-stellar-upstreaming-plan.md
│ │ ├── ows-stellar-implementation-surface-audit.md
│ │ ├── ows-stellar-pr1-checklist.md
│ │ └── ows-stellar-first-class-parity-plan.md
│ └── research/
└── ows-core/
└── ... upstream-target implementation fork as a submodule
If you are new to the project, start here:
Then review the implementation in ows-core/.
Initialize the submodule:
git submodule update --init --recursiveCheck the implementation repo status:
git -C ows-core status
git -C ows-core remote -v
git -C ows-core branch --show-currentIf you want to move the submodule forward to the latest commit on the tracked feature branch:
git submodule update --remote ows-coreThat updates the checked-out submodule commit in your working tree, after which the parent repo can record the new pinned SHA in a normal commit.
Run the main validation commands from inside the submodule:
cd ows-core/ows
cargo test --workspace
cd ../bindings/node
npm test
cd ../bindings/python
pytest- Not a replacement for
open-wallet-standard/core - Not a standalone distributable package
- Not the final upstream home of the code
- Not a generic Stellar wallet product repo
It is the staging ground for getting Stellar support into OWS cleanly.