DEV Community

Daniel Ioni
Daniel Ioni

Posted on

Building a Non-Custodial Multichain Marketplace: ETH, BTC, XMR and Tari in MyZubster"


Building a Non-Custodial Multichain Marketplace

MyZubster is evolving from a collection of open-source modules into an interconnected digital ecosystem.

One of the latest steps is connecting the MyZubster World and its community marketplace to multiple blockchain payment rails.

The current architecture supports:

  • Ethereum (ETH)
  • Bitcoin (BTC)
  • Monero (XMR)
  • Tari
  • MYZ internal ecosystem accounting

But there is an important architectural rule:

MyZubster should not become the custodian of users' private keys.

The Wallet Hub

We introduced a simple Wallet Hub inside the Marketplace.

Instead of implementing a centralized wallet that holds funds, the interface exposes public receiving addresses for supported networks.

The frontend can receive wallet configuration through environment variables such as:


env
REACT_APP_WALLET_ETH=
REACT_APP_WALLET_BTC=
REACT_APP_WALLET_XMR=
REACT_APP_WALLET_TARI=
No seed phrase belongs in the frontend.

No private key belongs in the repository.

And the Marketplace does not automatically sign blockchain transactions.

Marketplace currencies

The Marketplace previously supported modes such as:

FREE
BARTER
MYZ
XMR
TARI

The new implementation extends this with:

ETH
BTC

This means a listing can express the intended settlement rail while keeping the actual blockchain authorization separate.

For example:

{
  "title": "Community gardening service",
  "price": 0.0001,
  "currency": "BTC",
  "exchangeMode": "payment"
}

Creating an order does not automatically transfer Bitcoin.

The user still controls the transaction.

Why non-custodial?

The distinction matters.

A marketplace that stores private keys becomes responsible for an entirely different security model.

With the current MyZubster architecture:

Marketplace
     |
     v
Settlement intent
     |
     v
Public wallet address
     |
     v
User-authorized transaction
     |
     v
Blockchain
     |
     v
Independent verification

The application coordinates the exchange.

The blockchain settles it.

The wallet owner authorizes it.

Security boundaries

We are deliberately keeping several operations outside the web application:

❌ Seed storage
❌ Private-key storage
❌ Automatic transaction signing
❌ Custodial balances
❌ Automatic withdrawal authority

Instead:

✓ Public receiving addresses
✓ Explicit settlement currencies
✓ User-controlled wallets
✓ Independent transaction verification
✓ Separation between marketplace state and blockchain state

This also means that a Marketplace order should never be interpreted as proof that a cryptocurrency payment happened.

A blockchain settlement requires separate verification.

MyZubster World

The Marketplace is part of a broader experiment.

MyZubster World already includes an interactive environment with characters, movement, chat, emotes and community spaces.

The goal is to progressively connect:

Identity
   +
Community
   +
Marketplace
   +
Missions
   +
Digital World
   +
Non-custodial settlement

without turning the application into a centralized financial custodian.

Open source development

The multichain Wallet Hub is being developed publicly in the MyZubster repository.

The current implementation is available in:

Pull Request #811 — Metaverse Wallet Hub

The work is still subject to CI, security review and further testing before production deployment.

That distinction is important:

open source code is not the same thing as a production-ready financial system.

What's next?

The next technical milestones include:

completing CI and security checks;
configuring deployment wallet addresses;
improving transaction-verification workflows;
connecting marketplace orders with verifiable settlement evidence;
strengthening the boundary between MYZ internal accounting and external blockchain assets;
continuing security review before enabling more advanced payment flows.

The long-term objective isn't to hide blockchain complexity behind custody.

It's to build an interface where communities can use different settlement networks while retaining control of their own keys.

MyZubster is open source and under active development.

GitHub:

https://github.com/MyZubster-Ecosystem/myzubster

PR #811:

https://github.com/MyZubster-Ecosystem/myzubster/pull/811



Enter fullscreen mode Exit fullscreen mode

Top comments (0)