Privacy wallet · Logos network

MEDUSA

Your many heads to Logos

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.

Compatible with Logos Execution Zone (rc5) with L1 v0.2
Self-custodial · your keys Shielded transfers Multi-zone by design Open · on-chain
The wallet

Many heads, one key.

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.

Encrypted, self-custodialYour recovery phrase seals the wallet locally. No accounts, no servers.
Shield and deshieldMove value between public and private accounts with a tap.
Updates itselfThe wallet flags new versions and installs them in one click.
MEDUSA
paradox
Total balance
0.00LEZ
812.00 public 428.50 private ⛲ Faucet
Accounts
Mainlz1q9x…4f7a812.00 LEZ
Private · shieldedPrivate/0d…c91428.50 LEZ
Savingslz1qk2…8be10.00 LEZ
Tokens
G
GOLDToken
150.00
S
SILVToken
40.00
+ Add token
Send
Receive
Shield
Tip Jarwants to connect to your wallet
Choose which accounts it can see. It never sees your keys, and every transfer is approved by you, here in the wallet.
Main 812.00 LEZ
Savings 0.00 LEZ
Approve
Reject
Medusa-Connect

dApps connect on your terms.

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.

You choose what is sharedAccount visibility is opt-in, defaulting to none.
Every action is approved in-walletSends, shields and token transfers each need your tap.
Request a custom networkApps can ask the wallet to switch to any sequencer, an https URL or a Tor .onion, always with your approval.
Why Medusa

Privacy that gets out of your way.

Everything a Logos wallet needs: private by default, open by nature.

Many heads, one key

The same accounts on every zone. One recovery phrase controls them all; balances stay per-zone.

Private by design

Shield public funds into private accounts and deshield when you choose. Your amounts and links stay yours.

Any token, added in a tap

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.

Connect with Medusa

dApps ask to connect; you approve inside the wallet and pick exactly what they can see. Keys never leave.

Any network you like

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.

Native Tor

Reach hidden-service sequencers over Tor with no separate setup. Medusa bundles Tor, so .onion zones just work.

Self-custodial

Your keys, encrypted on your machine. No sign-ups, no custody, no tracking.

Updates itself

When a new version ships, the wallet tells you and updates in a click, no hunting through menus.

Built-in faucet

While Logos is on the L1 testnet, claim test LEZ and demo tokens (GOLD, SILV, BRNZ) straight from the wallet, one tap, no forms.

Get started

Install in three steps.

Medusa runs as a module inside Logos Basecamp. Pick your platform, add our repository, and install.

1

Install Logos Basecamp

Download the Basecamp AppImage for Linux from the Logos project, make it executable, and run it. Nothing else to install.

2

Add the Paradox repository

In Basecamp, open Settings, Repositories, Add a repository, and paste this URL:

https://paradoxcomputer.github.io/logos-modules/repo.json
3

Install Medusa

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.

Linux build is ready and fully self-contained. The repository goes live at release.
For developers

Build on Medusa-Connect.

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.

Add the SDK

npm install @paradoxcomputer/medusa-connect

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" })