CAIP-122 is a Chain-Agnostic Improvement Proposal that generalizes the Sign-In With Ethereum (SIWE) pattern into a framework called Sign-In With X (SIWx). While CAIP-222 defines the specific message format and verification rules for Ethereum, CAIP-122 provides the abstract schema and validation logic that any blockchain namespace can implement to create its own SIWx variant. This allows a dapp backend to verify that a user controls a specific blockchain account—whether on Solana, Stacks, or a future chain—using a single, predictable authentication flow. The standard is a critical component of the WalletConnect ecosystem, enabling wallets and dapps to move beyond Ethereum-centric identity toward truly chain-agnostic session management.

CAIP-122 SIWx (Sign-In With X) Generalization
What is CAIP-122?
A chain-agnostic standard extending the SIWE authentication pattern to any blockchain namespace, enabling a unified sign-in experience across Ethereum, Solana, Stacks, and beyond.
The core mechanism of CAIP-122 defines a message structure with fields that map to any namespace: a chain-id using the CAIP-2 format, an account address as a CAIP-10 identifier, a domain-binding URI, a nonce for replay protection, and an issuance timestamp. Each namespace must specify how these abstract fields are serialized into a byte string for signing and how the resulting signature is verified against the account's public key. For example, a Solana implementation would use a base58-encoded address and verify an Ed25519 signature, while a Stacks implementation would use the native stacks: namespace and verify a secp256k1 signature over the structured message. This abstraction layer is what makes the standard powerful: it decouples the authentication logic from any single chain's cryptography or address format.
For protocol architects and backend engineers, the operational impact of adopting CAIP-122 is significant. It requires building a namespace-aware verification service that can route an incoming SIWx message to the correct cryptographic verifier based on the CAIP-2 chain identifier. The primary security risk is cross-chain replay attacks, where a valid signature from one chain is replayed on another if the message does not explicitly bind the chain-id. Implementers must also handle namespace-specific edge cases, such as Solana's transaction-based signing versus Ethereum's personal_sign, which affect how the message payload is presented to the user. Teams building cross-chain authentication should audit their nonce generation, timestamp tolerance windows, and domain-binding logic to ensure that a signature intended for one chain cannot be accepted in a different context. Chainscore Labs can perform a targeted review of a SIWx implementation to validate its resistance to cross-chain replay and namespace confusion attacks.
CAIP-122 Quick Facts
A scannable reference for teams evaluating the operational and security impact of adopting the CAIP-122 Sign-In With X standard for non-Ethereum chains.
| Area | What changes | Who is affected | Action |
|---|---|---|---|
Authentication Scope | Extends SIWE-like message signing to any CAIP-2 namespace (e.g., Solana, Stacks), not just EIP-155. | Protocol architects, dApp backend teams | Review the CAIP-122 message construction rules for each target chain. |
Replay Attack Surface | Introduces cross-chain replay risk if domain binding or nonce scoping is not chain-specific. | Security engineers, wallet SDK developers | Verify that nonce tracking and signature verification logic is scoped per CAIP-2 chain ID. |
Session Binding | Requires binding an authentication session to a specific CAIP-10 account identifier, not just a raw address. | Wallet developers, dApp frontend teams | Update session state models to use CAIP-10 as the canonical user key. |
Wallet Compatibility | Wallets must support the CAIP-122 message format and present clear signing prompts for non-Ethereum chains. | Wallet developers, QA teams | Test against the CAIP-122 test vectors for each supported namespace. |
Backend Verification | Verification logic must become chain-aware, parsing the CAIP-2 prefix to select the correct cryptographic curve and address format. | Backend engineers, identity providers | Audit verification libraries to ensure they correctly handle namespace-specific encoding. |
Standard Maturity | CAIP-122 is a finalized standard, but ecosystem adoption varies significantly by namespace. | CTOs, integration architects | Verify the canonical status and adoption level of the CAIP-122 profile for your target chain before committing. |
Migration Path | Teams using a custom or chain-specific sign-in scheme must migrate to the standardized CAIP-122 format for interoperability. | dApp developers, protocol teams | Plan a migration from custom auth to CAIP-122, including a deprecation window for the legacy method. |
Message Structure and Namespace Abstraction
How CAIP-122 generalizes the SIWE message format to support any blockchain namespace, enabling a single, verifiable authentication standard across ecosystems.
The CAIP-122 standard defines a generalized message structure for Sign-In With X (SIWx), abstracting the Ethereum-specific fields of EIP-4361 (SIWE) into a chain-agnostic format. This is the foundational specification for extending off-chain authentication to non-Ethereum ecosystems like Solana, Stacks, and others, using their native signing schemes. The core mechanism involves constructing a plaintext message that includes a chain-id conforming to the CAIP-2 namespace format, a sign-in-with-x preamble, and namespace-specific fields for address, nonce, and other security parameters. This abstraction allows a single dApp backend to verify signatures from disparate wallet types by parsing the message's declared namespace and applying the correct verification logic.
Operationally, the message structure introduces a critical security boundary: the chain-id field. This field explicitly binds the authentication attempt to a specific blockchain, which is essential for preventing cross-chain replay attacks where a valid signature on one network could be fraudulently replayed on another. The standard mandates the inclusion of an issued-at timestamp and strongly recommends a nonce for replay protection within the same chain. For protocol architects, the primary implementation challenge is building a verification service that can dynamically resolve a CAIP-2 identifier to the correct cryptographic curve and address encoding scheme, ensuring that a Solana ed25519 signature is not validated against an Ethereum secp256k1 public key.
The namespace abstraction directly impacts how multi-chain wallets and dApps manage user sessions. A wallet implementing CAIP-122 must be able to generate a compliant message for any supported chain, correctly populating the chain-specific address format. For dApp backends, this standard replaces the need for multiple, chain-specific authentication libraries with a single, unified SIWx parser and verifier. Teams should audit their verification pipeline to ensure strict adherence to the ABNF message format, as deviations in whitespace or field ordering can lead to signature validation failures. Chainscore Labs can assess an implementation's resistance to namespace confusion and cross-chain replay vectors.
Who Is Affected by CAIP-122 Adoption
Wallet Engineering Teams
Wallet developers are the primary implementers of CAIP-122. They must extend their signing logic to handle the generalized message format, which includes the chain_id and account_id fields as defined by CAIP-10 and CAIP-2.
Key Actions:
- Implement a CAIP-122 message parser that validates the header fields before prompting the user for a signature.
- Update the UI to clearly display the domain, chain, and account being authenticated, preventing blind-signing attacks.
- Ensure the signing function uses the correct key derivation path for the specified namespace (e.g., ed25519 for Solana, secp256k1 for Stacks).
- Register the new signing capability in the WalletConnect session handshake under the appropriate namespace.
Risk: A naive implementation that ignores the chain_id field could allow a signature intended for one chain to be replayed on another, compromising user accounts.
Integration Surface and Key Decisions
CAIP-122 generalizes Sign-In with Ethereum to any blockchain by defining a standard message format, verification interface, and chain-specific binding. Protocol architects must make explicit decisions about namespace support, replay protection, and session binding to avoid cross-chain identity vulnerabilities.
Cross-Chain Replay Attack Surface
The core security risk in CAIP-122 implementations is cross-chain replay: a valid SIWx signature from Chain A being accepted by a dapp on Chain B. Mitigation requires strict validation of the chain-id field in the message against the expected chain for the current session. Backends must never accept a signature where the parsed chain ID does not match the target application's chain. Chainscore can perform a dedicated threat-modeling review of your SIWx verification pipeline to identify replay vectors across all supported namespaces.
Nonce Management and Session Binding
CAIP-122 inherits SIWE's nonce-based replay protection but extends it across chains. Each authentication request must generate a unique, unpredictable nonce stored server-side with a short expiry. The nonce must be bound to the expected chain-id and address to prevent cross-session reuse. Implementations must avoid stateless nonce verification schemes that cannot enforce chain binding, as these open the door to cross-chain replay attacks where a captured nonce is reused on a different chain.
Address Encoding and Validation Per Namespace
Each CAIP-2 namespace defines its own address encoding rules. Solana uses base58-encoded 32-byte public keys, Stacks uses c32check-encoded addresses, and Ethereum uses hex-encoded 20-byte addresses. The verification layer must parse the address field according to the namespace-specific encoding, validate checksums where applicable, and reject malformed addresses before signature verification. A generic address parser that does not enforce namespace-specific validation will accept invalid addresses and create signature verification failures.
Domain Binding Across Chains
The domain field in CAIP-122 binds the authentication to a specific dapp origin, preventing phishing attacks where a signature captured on a malicious site is replayed on a legitimate one. For multi-chain dapps, the domain must be consistent across all supported chains to maintain a unified user identity. Implementations must validate that the domain in the signed message matches the requesting origin exactly, including scheme and port, before accepting the signature.
Wallet Implementation Requirements
Wallet developers implementing CAIP-122 must support the Sign-In With X message format for each target chain, display the full message to the user for review, and return the signature in the chain-specific encoding. Wallets must correctly parse the chain-id from the message and sign with the key corresponding to the specified address. Failure to display the full message—including the chain ID and domain—to the user creates a phishing risk where users sign authentication messages for malicious dapps without understanding the context.
Cross-Chain Replay and Security Risk Matrix
Evaluates failure modes where a valid SIWx signature from one chain, domain, or session is replayed to gain unauthorized access on another chain or application. Helps protocol architects and security engineers identify validation gaps in cross-chain authentication flows.
| Risk Area | Failure Mode | Affected Actors | Mitigation and Verification |
|---|---|---|---|
Cross-Chain Signature Replay | A valid signature for | dApp backends, identity aggregators, cross-chain wallet integrators | Verify that the verifier strictly parses the |
Domain Binding Bypass | A SIWx message signed for | dApp backend engineers, custodial wallet interfaces | Enforce exact domain matching in the verifier, including subdomain boundaries. Chainscore can review the domain validation module for bypass conditions. |
Nonce Reuse Across Sessions | A predictable or static nonce allows an attacker to capture a valid signature and replay it in a new authentication session before the nonce expires. | Backend developers managing SIWx session issuance | Implement cryptographically random, single-use nonces with server-side tracking and short TTLs. Chainscore can audit nonce generation and lifecycle management. |
Timestamp Drift Exploitation | An expired SIWx message is accepted because the verifier's clock drift tolerance is too permissive, or timestamp validation is entirely absent. | dApp operators, backend infrastructure teams | Enforce strict |
Namespace Confusion in Multi-Chain Wallets | A wallet signs a message for | Wallet developers implementing multi-chain SIWx signing | Ensure the wallet UI clearly displays the full CAIP-2 chain identifier to the user before signing. Chainscore can review the wallet's signing flow for namespace clarity. |
Resource URI Injection | An attacker crafts a SIWx message with a malicious | dApp frontend teams, backend session managers | Validate the |
Signature Algorithm Mismatch | A verifier accepts a signature produced by an algorithm not valid for the claimed chain (e.g., accepting an ECDSA signature for a chain that requires Ed25519), weakening authentication integrity. | Protocol architects defining cross-chain verification rules | Enforce chain-specific signature algorithm validation based on the |
Implementation Rollout Checklist
A technical checklist for protocol architects and engineering teams preparing to implement or integrate Sign-In With X (SIWx) based on the CAIP-122 framework. This list focuses on verifying cross-chain security, standard compliance, and operational readiness before production rollout.
Confirm that the generated SIWx message strictly adheres to the CAIP-122 ABNF grammar, not just a modified EIP-4361 (SIWE) template.
- What to check: The message string includes the correct
chain-idandnamespacefields, uses theurn:caip:scheme, and handles namespace-specific address encoding (e.g., Base58 for Solana, c32check for Stacks). - Why it matters: Non-compliant message construction is the primary cause of cross-chain replay attacks, where a signature for one chain can be replayed on another. A parser expecting SIWE will fail on a valid SIWx message, breaking interoperability.
- Readiness signal: Your message parser correctly round-trips messages for all target chains, and your test suite includes negative tests for malformed
chain-idand missingnamespacefields.
Canonical Resources and References
Use these canonical sources to validate CAIP-122 SIWx message construction, account binding, chain identifiers, and WalletConnect transport assumptions. Teams should verify current proposal status and ecosystem support directly against the upstream repositories before shipping authentication changes.
Looking to build on a specific blockchain?
We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.
EVM ecosystems
- Ethereum
- Arbitrum
- Optimism
- Polygon
- Avalanche
- Cronos

Non-EVM ecosystems
- Solana
- Sui
- Aptos
- Hedera
- Stellar
- NEAR
Additional ecosystems
- Polkadot
- Cosmos
- TON
- Cardano
- Algorand
- Tempo
Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.
Frequently Asked Questions
Common questions from protocol architects and backend engineers implementing CAIP-122 Sign-In With X for non-Ethereum chains. Covers cross-chain security, session management, and integration patterns.
CAIP-122 prevents cross-chain replay attacks through mandatory domain binding and chain-specific message construction. The standard requires:
- Chain-specific domain binding: The
domainfield must be included in the signed message, tying the authentication to a specific dapp origin. - Nonce enforcement: A unique, single-use nonce must be generated by the backend and included in the message to prevent signature replay.
- Chain ID in the message: The
chain-idfield (formatted as a CAIP-2 identifier) is part of the signed payload, ensuring a signature produced for one chain cannot be replayed on another. - Timestamp validation: The
issued-atfield allows backends to reject stale signatures.
What to verify in your implementation:
- Confirm your backend validates the
chain-idagainst the expected value for your application. - Ensure nonce storage is scoped per user session and invalidated after use.
- Verify that the
domainmatches your application's origin exactly.
Chainscore can perform a threat-modeling review of your signature verification pipeline to identify replay vectors across chains.
Delivering blockchain solutions for 5+ years.
We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.
Selected Partners & Clients
“I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.”
How to get started?
If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.
Exploration & Strategy
Define your product goals and choose the right blockchain architecture for your use case.
Architecture & Design
Design the smart contracts, tokenomics, and security parameters of your system.
Development & Integration
Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.
Security & Launch
Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.
Discover our
blockchain development services.
We build production-grade blockchain solutions for top-tier projects across DeFi and Web3.
Need a blockchain engineering team?
Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.


