karhal/web3-connect
Karhal Web3 Connect brings crypto wallet authentication to Laravel. Let users sign in with MetaMask, WalletConnect, and other Web3 wallets, verify signatures server-side, and link wallet addresses to existing accounts—no passwords required.
NOASSERTION), and an archived status, this is not a procurement decision — it's a scoping input. The realistic output is a decision record: "wallet auth is ~X engineer-weeks; we implement it in-house against a maintained library (e.g., a SIWE verifier) rather than adopting this bundle."Consider it as a learning artifact or throwaway prototype, not a dependency:
Look elsewhere — or build in-house — when any of the following is true:
NOASSERTION means GitHub could not identify a recognized license. Legal cannot clear it, and a fork inherits the ambiguity. Any commercial use requires a human to read the actual LICENSE file — assume blocked until proven otherwise.For executives: We evaluated a small open-source package for Ethereum-wallet login. It demonstrates the concept well but is archived, has essentially no adoption, and has an unclear license — so it is not something we can ship to customers. The value is in what it teaches us: it gives us a cheap way to prototype wallet-based sign-in and validate whether a crypto-native audience is worth pursuing, and it lets us size the real engineering work before we commit. Recommendation: treat it as a spike, not a supplier; if wallet login earns a place on the roadmap, we build it against a maintained, clearly licensed library and budget for a security review.
For engineering: The repo is a Symfony bundle doing challenge-signature-verification for wallet login. Do not add it as a Composer dependency. Use it as a reading reference for the flow, then implement in-house — and make sure we own nonce generation, replay protection, chain-ID pinning, and session invalidation explicitly. Budget a security review of the signature path regardless of which library we land on, and confirm the license terms before any code is copied rather than reimplemented.
How can I help you explore Laravel packages today?