Auth layer · protocol v2.4.1 · operational

One wallet.
One signature. Every dApp.

ExoHub Connect integrates your wallet with the blockchain as a non-custodial authentication layer. Authenticate your wallet once, authorise scoped dApp access, and sign every transaction locally — your keys never leave your device.

50+ chains <150 ms signing 99.99% uptime 0 server-side keys
exohub-connect — zsh
secure
$ exohub connect --chain ethereum
resolving @exohub/[email protected]
handshake ExoHub v25.4.0 via eip-1193
session 0x7f3a…c9d2 established
challenge signed secp256k1 · EIP-712 in 48 ms
verified 0x7f3a…c9d2 — non-custodial
scopes transfer · swap · signTypedData
$
connected latency 42 ms chain ethereum session ttl 05:00

Powered exclusively by ExoHub

BIP39· BIP44· EIP-1193· EIP-712· WalletConnect v2· JSON-RPC / WS
Connection flow

A three-step signing protocol

Every session follows the same audited handshake: negotiate a provider, prove key ownership, then authorise scoped access.

01 secure

Provider handshake

Security begins at the handshake. The dApp requests the ExoHub provider over EIP-1193, and the session is negotiated over an encrypted transport — no key material is ever transmitted.

EIP-1193 · encrypted transport
02 authenticate

Challenge signature

Authenticate your wallet by signing a time-bound challenge on-device — secp256k1 or Ed25519, EIP-712 typed data. Off-chain and gasless: ownership is proven without broadcasting anything.

secp256k1 · Ed25519 · EIP-712
03 authorise

Session bound to identity

Authorise dApp interactions with scoped, revocable permissions — one verified identity across DeFi, NFTs, DAOs and games on 50+ networks. Every transaction is signed locally and broadcast only with your consent.

scoped permissions · consent-based broadcast
For builders

Drop-in wallet connection for your dApp

One provider, every chain, every wallet. The ExoHub Connect SDK exposes a typed EIP-1193 provider and a ready-made Connect button — wire it once, ship everywhere.

$ npm install @exohub/connect
  • TypeScript-first SDK with full type coverage and tree-shaking
  • EIP-1193 provider & WalletConnect v2 out of the box
  • Chain-agnostic — EVM, Solana, Bitcoin and 50+ networks
  • Zero server-side key material — self-custody by design
index.tsx
sdk v2.4.1
import { ExoHubProvider, ConnectButton } from "@exohub/connect";
 
export default function App() {
return (
<ExoHubProvider
chains={["ethereum", "solana", "bitcoin"]}
onConnect={(session) => console.log(session)}
>
<ConnectButton />
</ExoHubProvider>
);
}
live preview
Connect Wallet session 0x7f3a…c9d2 · connected
Security model

Hardened by design. Verifiable by code.

The connection layer is built on proven standards and an open, audited codebase. ExoHub never holds, sees or transmits your private keys.

Key custody

On-device, always

Keys are generated on-device from a BIP39 seed and guarded by the ExoHub secure enclave. Recovery is your seed — never ours.

Signature schemes

Standard primitives

secp256k1 and Ed25519 signing with EIP-712 typed-data support. Signatures are produced on-device; we cannot sign for you.

Session layer

One session, every chain

EIP-1193 provider, WalletConnect v2 and JSON-RPC over WebSocket. One session spans 50+ networks with scoped, revocable permissions.

Verifiability

Open source

An open, audited signing flow. Non-custodial and non-intermediated — no server holds key material at any point in the session.

Protocol specification

Technical specifications

The exact parameters of the connection layer, as shipped in protocol v2.4.1.

TransportEIP-1193 · WalletConnect v2 · JSON-RPC over WebSocket
Signing algorithmssecp256k1 · Ed25519 · EIP-712 typed data
Chain supportEVM · Solana · Bitcoin · 50+ networks
Session protocolOff-chain challenge-response · 5-minute TTL · scoped permissions
Gas modelZero gas for authentication · zero broadcast on sign
Custody modelNon-custodial · keys generated, stored and signed on-device
SDK@exohub/connect · TypeScript-first · EIP-1193 provider