Skip to content

docs: add Python quickstart for Stellar stealth payments - #143

Merged
truthixify merged 3 commits into
wraith-protocol:developfrom
Mathew2k-hash:feat/python-quickstart
Aug 27, 2026
Merged

docs: add Python quickstart for Stellar stealth payments#143
truthixify merged 3 commits into
wraith-protocol:developfrom
Mathew2k-hash:feat/python-quickstart

Conversation

@Mathew2k-hash

Copy link
Copy Markdown
Contributor

docs: Python quickstart for Stellar stealth payments

Adds a self-contained quickstart for Python 3.11+ developers who want to
interact with Wraith's Stellar contracts without the TypeScript SDK — a
frequently requested path from fintech backends and treasury tools.

guides/quickstarts/python.mdx (new)
A seven-step guide covering the full stealth payment lifecycle in Python:

  • pip install stellar-sdk cryptography — no Node.js or TypeScript toolchain
    required
  • wraith_crypto.py inline utility implementing scan-key derivation (SHA-256
    domain separation matching the TS SDK constants), X25519 ECDH via Edwards-to-
    Montgomery conversion, ed25519 point addition for stealth address generation,
    the v2 view-tag prefilter (~255/256 skip rate), and RFC 8032-compatible
    sign_with_scalar for spending from derived scalars
  • Fetching WRAITH_ANNOUNCEMENT events from the Soroban RPC (getEvents + XDR
    decode via stellar_sdk.xdr)
  • Scanning announcements with the view-tag prefilter before the expensive ECDH
    step
  • Sending: createAccount activation followed by a Soroban announcer invocation
  • Spending: building and signing a withdrawal transaction with a raw stealth
    scalar
  • All Python code fences marked no-check so the existing TS snippet gate passes

sdk/overview.mdx
Added a "Using Wraith from Python" section under Next Steps with a direct link
to the new guide.

docs.json
Added a Quickstarts nav group above the Guides group in the Guides tab, with
guides/quickstarts/python as its first entry.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Testing

  • Keys derived in Python from STEALTH_SIGNING_MESSAGE are cross-compatible with
    @wraith-protocol/sdk/chains/stellar — same constant, same domain prefixes
  • Guide targets futurenet throughout; testnet contract IDs are called out for
    steps that require live contracts (announcement fetch, Soroban invocation)
  • no-check fences confirmed compatible with scripts/check-snippets.ts gate
  • closes Python backend quickstart #132

Covers the full flow for Python 3.11+ backends that want to talk to
Wraith contracts without the TypeScript SDK:

- guides/quickstarts/python.mdx (new)
  - pip install stellar-sdk + cryptography only
  - wraith_crypto.py inline utility: scan-key derivation via SHA-256
    domain separation, X25519 ECDH, ed25519 point addition, view-tag
    prefilter, sign_with_scalar (RFC 8032 compatible raw scalar signing)
  - Fetch WRAITH_ANNOUNCEMENT events from Soroban RPC (getEvents + XDR decode)
  - scan_announcements with view-tag prefilter (~255/256 skip rate)
  - Send: createAccount activation + Soroban announcer invocation
  - Spend: withdrawal tx signed with raw stealth scalar
  - All Python fences marked no-check for the TS snippet gate
  - Targets futurenet; notes testnet contract IDs for live testing

- sdk/overview.mdx: cross-link to Python quickstart under Next Steps

- docs.json: Quickstarts nav group added above Guides in the Guides tab
@drips-wave

drips-wave Bot commented Aug 26, 2026

Copy link
Copy Markdown

@Mathew2k-hash Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@truthixify
truthixify merged commit 60fa008 into wraith-protocol:develop Aug 27, 2026
2 checks passed
@truthixify

Copy link
Copy Markdown
Contributor

Merged. Keeping the derivation helper inline rather than hand-waving at a package that does not exist yet was the right call @Mathew2k-hash.

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.

Python backend quickstart

2 participants