Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

feat(auth): Sign-in with Ethereum for Better Auth

Open
#23 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
42/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
github, mongodb, next.js, typescript

Research direction

Start with frontend/src/features/auth/server/auth.ts and the sign-in components under features/auth/components; first verify whether Better Auth provides a SIWE plugin and read its API. Trace how the existing email OTP flow and MongoDB adapter handle accounts and sessions, then check compatibility with the signed assertion bridge on feat/toju-agent-storage. Done means wallet linking and unlinking work, replayed or invalid SIWE messages are rejected, and proxy/session behavior remains unchanged.

Written by the indexing model from the issue text.

Description

chain-integration enhancement help wanted identity tier-1

Summary

Add wallet-based sign-in (EIP-4361) alongside the existing email OTP flow, optionally pulling the user's ENS name and avatar into the profile.

Motivation

Crypto-native users expect to sign in with their wallet, and it ties account identity to the addresses used for payments and agents.

Current state in this repo

  • frontend/src/features/auth/server/auth.ts configures Better Auth with the MongoDB adapter, email-OTP and Next cookies; sign-in forms are under features/auth/components.

Proposal

  • Add a SIWE flow (nonce, message, signature verification) if Better Auth provides a plugin; otherwise implement a small custom plugin.
  • Link a wallet address to an existing account (verified by signature) rather than creating duplicate accounts.
  • Optional: show ENS name/avatar from the ENS issue's resolution helper.

Acceptance criteria

  • Nonces are single-use and expire; replayed signatures are rejected.
  • Domain, chain id and expiry in the SIWE message are validated.
  • A user can link and unlink a wallet; the proxy/session behaviour is unchanged.

Out of scope

  • Replacing email OTP.

Technical notes and risks

  • Backend identity for agent endpoints uses a different mechanism on feat/toju-agent-storage (signed assertion bridge); keep the two flows compatible.

Verify before implementing

  • Whether Better Auth currently ships a SIWE plugin and its API.

References


Part of ##1. Ground rules for all issues in this roadmap are listed there (testnet-first, no secrets in the repo, chain logic behind the registry, tests and docs with every PR).

Dominant language
Python
Stars
2
Forks
4
Avg merge
5h 19m
Merged PRs (30d)
11

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from QMeshPy/distributed-quantum

All issues in QMeshPy/distributed-quantum

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.