Skip to main content
Use OpenKey here when you want TinyCloud to keep its SIWE flow but replace a browser wallet with passkey-based signing.

What stays the same

  • TinyCloud still uses SIWE
  • TinyCloud still derives identity from an Ethereum address
  • TinyCloud still issues the session after a valid signature

What OpenKey provides

  • A browser-friendly signer
  • Passkey authentication
  • A path that does not require MetaMask or another wallet extension

Working example

Why this shape

@tinycloud/web-sdk 3.0 signs through a raw EIP-1193 provider: it calls provider.request() directly. OpenKeyProvider is an EIP-1193 provider that answers eth_accounts, eth_requestAccounts, eth_chainId, personal_sign, and eth_signTypedData_v4 with the connected OpenKey key, so pass it as is.
Do not wrap it in an ethers Web3Provider or BrowserProvider. Web SDK 2.x accepted an ethers provider; 3.0 needs the raw EIP-1193 object.

TinyCloud-specific advice

  • Keep the OpenKey host separate from the TinyCloud host
  • Pass the provider as provider; providers.web3.driver still works and takes the same raw EIP-1193 object
  • Treat this as a sign-in flow, not an OAuth flow
Verified against @openkey/sdk 0.10.2 and @tinycloud/web-sdk 3.0.0.