One wallet, many identities. Hold and move value across every Logos zone with shielded, self-custodial privacy, and let dApps connect only with your say-so.
Your accounts are the same on every zone; balances and tokens live per-zone. Switch zones, shield funds into private accounts, and send without leaking who you are.
Any app can request a connection with a single call to the Medusa-Connect SDK. Medusa surfaces the request inside the wallet, where you pick exactly which accounts it may see and approve every action yourself. Your keys never leave the wallet.
Everything a Logos wallet needs: private by default, open by nature.
The same accounts on every zone. One recovery phrase controls them all; balances stay per-zone.
Shield public funds into private accounts and deshield when you choose. Your amounts and links stay yours.
Not just native LEZ. Hold as many tokens as you like, add one from the curated list or by its definition id, and shield token balances too.
dApps ask to connect; you approve inside the wallet and pick exactly what they can see. Keys never leave.
Point Medusa at any Logos sequencer, an https endpoint or a Tor .onion, straight from the wallet or on request from a dApp. Always with your approval.
Reach hidden-service sequencers over Tor with no separate setup. Medusa bundles Tor, so .onion zones just work.
Your keys, encrypted on your machine. No sign-ups, no custody, no tracking.
When a new version ships, the wallet tells you and updates in a click, no hunting through menus.
While Logos is on the L1 testnet, claim test LEZ and demo tokens (GOLD, SILV, BRNZ) straight from the wallet, one tap, no forms.
Medusa runs as a module inside Logos Basecamp. Pick your platform, add our repository, and install.
Download the Basecamp AppImage for Linux from the Logos project, make it executable, and run it. Nothing else to install.
In Basecamp, open Settings, Repositories, Add a repository, and paste this URL:
Open the Package Manager and search medusa. Install Medusa (the wallet,
package medusa_ui). Its medusa_core backend is pulled in automatically,
so it is a single click. The wallet engine is bundled, nothing else to set up. Launch it and
create your wallet.
Let any Basecamp dApp connect to the wallet in a few lines. Users approve every connection and action inside Medusa, and your app never touches their keys.
Copy medusa-connect.js into
your module's qml/ folder, declare the wallet dependency in your
manifest.json, and you are ready to connect.
import "medusa-connect.js" as MedusaConnect property var medusa: MedusaConnect.create({ appName: "My App", call: function (m, f, a) { return logos.callModule(m, f, a) } }) // 1) Ask to connect, including the "zone" permission. var r = medusa.connect(["accounts", "send", "zone"]) // 2) Point the wallet at any network (user-approved in the wallet). medusa.requestZone(sessionId, { sequencer: "https://my-sequencer.example", label: "My Zone" }) // 3) Request a transfer. The user confirms it in the wallet, not your app. medusa.send(sessionId, { to: addr, amount: "1", asset: "native" })