CAIP-217

  • Name: CAIP-217 (Authorization Scopes)
  • URL: https://standards.chainagnostic.org/CAIPs/caip-217
  • Category: chain-agnostic wallet authorization-scope standard / session-capability object model / multi-chain permission grammar
  • Summary: CAIP-217 is best understood as the object model for wallet authorization rather than as a standalone user-facing protocol. Its core mechanism is to serialize a permission scope as a JSON object keyed by either a namespace or a specific CAIP-2 chain identifier, then bind methods, notifications, references, accounts, and optional RPC authorities to that scope. That makes it a useful comparison class for CAIP-25, EIP-4361, CAIP-122, and WalletConnect: those specs often answer who is connecting or how the handshake starts, while CAIP-217 defines what exactly is being authorized across chains once the handshake needs a durable, machine-readable permission structure.
  • What it does:
    • Defines a reusable scopeObject syntax for wallet-app authorization state
    • Allows a scope key to target either an entire namespace or a single chain identifier
    • Supports references for namespace-wide scopes that need to enumerate specific chain references
    • Binds arrays of authorized JSON-RPC methods, notifications, and optional CAIP-10 accounts to each scope
    • Allows optional rpcDocuments and rpcEndpoints fields so authorization can include negotiated RPC authorities and routing preferences through CAIP-211
    • Serves as a shared building block for other standards such as CAIP-25 session negotiation and CAIP-27 request routing
  • Key claims:
    • The most important point is that CAIP-217 is not another login message. It is the serialization layer for wallet authority: the place where a multi-chain session becomes an inspectable object instead of a pile of ad hoc prompts.
    • The key structural move is the choice of scope key. By letting a scope point either to a namespace or to a specific CAIP-2 chain ID, the standard makes chain granularity a first-class policy decision rather than an implementation accident.
    • The references field matters because it prevents namespace-wide authorization from being read as “everything forever” by default. A namespace scope can still enumerate a bounded set of specific chain references, which is an important control against overbroad interpretation.
    • The inclusion of methods, notifications, and accounts in one object means the standard collapses transport permissions, account disclosure, and chain targeting into one reusable permission grammar. That makes later standards more composable, but it also concentrates policy power in whatever wallet or middleware shapes these objects.
    • The optional rpcDocuments and rpcEndpoints hooks are analytically important because they show CAIP-217 was designed from the start to carry more than bare method allowlists. Through CAIP-211, a scope can also encode which RPC definitions and routes count as authoritative.
    • The spec explicitly says additional constraints may be imposed by protocols such as CAIP-25 and by namespace-specific profiles. In practice, that means the true power surface is layered: CAIP-217 defines the grammar, but namespace maintainers and session protocols decide how strict, broad, or implicit the resulting permissions become.
    • CAIP-217 is useful in the corpus because it separates authorization structure from authentication identity. It clarifies that cross-chain wallet interoperability depends not only on subject identifiers like did:pkh or login messages like CAIP-122, but also on a shared, machine-readable way to represent durable authority.
  • Whitepaper: No standalone CAIP-217 whitepaper or litepaper surfaced in this pass. The clearest primary materials were the official CAIP-217 and CAIP-211 texts plus CAIP-25 context; see ../../whitepapers/caip-217-primary-sources-2026-05-10.md.
  • Sources:

Internal linkages

  • RPC-authority extension carried inside the same scope object: caip-211
  • Persistent-session carrier that operationalizes this grammar: caip-25
  • Auth-envelope sibling that answers who is connecting before this scope model decides what they can do: caip-122
  • Last reviewed: 2026-05-10 UTC