Try every SDK call against a live wallet
This page is a working integration of @startbahn/startrail-sdk-js. Each card below is one method: fill the form, press Run, and read the exact outcome — the result, a false for a cancelled popup, or the typed error — right under it, with the code you would write.
Getting started
Sign-ins open real wallet windows on the selected environment (QA by default). Nothing here writes to the chain until you run a write action.
1Setup
The object passed to new Startrail(config). Any change rebuilds the instance; the generated snippet on the right is what you would paste into your app.
Generated config
2Brand the login modal new
The provider picker is brand-neutral until you say otherwise. Logo, name, colours, light/dark mode, font, corner radius and wording all come from customUi, and mode / accent are forwarded to the wallet UI. Pick a preset or tune it, then Preview opens the real modal — close it to get false back.
3Sign in
Each button sets loginProvider, rebuilds the SDK and calls login(). A single provider opens that provider directly; the picker shows the login modal with everything the config allows.
Sign in with…
Session methods
5Startrail Records
Mint, update, transfer and annotate SRRs. Write actions sign a meta-transaction and submit it through the LUW; they sign the user in first if needed. Success responses carry a txReceiptId — the chain write itself is asynchronous.
6Collections
Deploy a collection contract and hand it over.
7Read & batch
Read-only helpers that never open a popup, and bulk() for several operations in one transaction.
8Scenarios
Multi-step flows that exercise the SDK's session handling end to end.
Switch user after a page reload
Regression test for the persisted-session bug: login A → discard instance → new instance → logout → login must let a different user sign in, not silently return A. Run the steps in order — each login opens the real wallet window. The wallet's own session lives in the cross-origin wallet iframe; only logout() can end it.
This origin's localStorage + sessionStorage (⚑ = web3auth-related)
(empty)