Removing the extension requirement also required an architectural change. Instead of importing one wallet provider throughout the product, V2 introduces a Split-owned adapter for session and signing behavior. Blux is the embedded Testnet path; Freighter remains available for existing-wallet users.
Split validates, constructs, and simulates the transaction; the wallet provider supplies the signature. Split then submits the signed transaction and waits for confirmation before presenting the result. Keeping this lifecycle in the application preserves a shared transaction path across wallet providers.
The Soroban contract continues to validate participants, shares, payment state, and creator-only closure. Supabase indexes events and transaction hashes for durable receipts; the contract remains the source of payment state.
The report of explorer success alongside a pending app status makes consistency a user-facing requirement: submission, confirmation, contract reads, and indexed activity must remain distinguishable. A successful payment capture demonstrates that example’s result; it does not establish that delayed indexing, refresh, and interrupted sessions always recover correctly.
Early October testing encountered a Blux HTTP 400 signing failure when decoding Soroban transaction data with extension version 1, plus a separate passkey sign-in failure. An outdated backend XDR schema was the compatibility hypothesis. Later captures show creation confirmation for Split #21 and a successful payment state for Split #22. These are separate Testnet examples. The exact fix remains undocumented; recovery and full wallet regression still need validation.