Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
melonask avatar

Viem Siwe

  • 4 installs
  • Updated January 26, 2026
  • melonask/viem-siwe-skills

Helps with ai & agent building tasks.

About

viem-siwe is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • viem-siwe
  • AI & Agent Building
  • AI-coding skill

Viem Siwe by the numbers

  • 4 all-time installs (skills.sh)
  • Ranked #13,372 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/melonask/viem-siwe-skills --skill viem-siwe

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs4
Last updatedJanuary 26, 2026
Repositorymelonask/viem-siwe-skills

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Viem SIWE

This skill provides expertise in implementing Sign-In with Ethereum (SIWE) adhering to EIP-4361 using viem.

Reference Implementation

For a complete, copy-pasteable implementation of a SIWE auth module, refer to references/implementation.md.

This implementation includes:

  • siwe.ts: Core logic for nonce generation, message creation, parsing, and verification.
  • index.ts: Public API for the auth module.

API Documentation

For detailed API documentation of viem's SIWE utilities (createSiweMessage, verifySiweMessage, etc.), refer to references/api-docs.md.

Critical Implementation Details

Nonce Management

  • Always generate a unique nonce for every login attempt.
  • Store nonces with an expiration (TTL) on the backend.
  • Verify and consume the nonce upon signature validation to prevent replay attacks.

Message Verification

  • Verify Domain: Ensure the domain in the message matches the host to prevent phishing.
  • Verify Chain ID: Ensure the chainId matches the expected network.
  • Check Expiration: Respect expirationTime and notBefore fields.

Smart Contract Wallets (ERC-1271)

When verifying signatures from smart contract wallets:

  • Use a PublicClient instance in verifySiweMessage.
  • Do not rely solely on verifyMessage which only works for EOAs.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.