Connect
Establishing a secure connection between a Client (Dapp) and a server-based Wallet Provider.
Overview
Custodians, Institutional Wallets, and similar are "remote" wallet providers. Unlike client-side (consumer) wallets, they exist in a secured remote environment where transactions are signed and processed.
Characteristics common of remote wallets included:
- Accessible over HTTP / REST APIs.
- Transaction initiation, validation, authorization, signing, and broadcasting each as a distinct step.
- Multiple 1st and 3rd party clients (console app, mobile approval devices, 3rd party services).
- Multiple users and separation of roles (initiators, quorum approvers, custody cold signers, automated co-signers, etc).
- Asynchronous communication, with potentially long-running pre-sign transaction lifecycle.
There are 2 main phases:
- Auth - access grant negotiation, for a Client to receive delegated access to a wallet.
- Transaction - initiate & monitor transactions, using the granted access.
How it Works
- Provider exposes standardized Auth endpoints ("Auth Server").
- Provider exposes standardized Transaction endpoints.
- Client uses Provider's APIs to request access, receive temporary access rights.
- Client uses Provider's APIs to initiate transactions and monitor the status.
Narval provides
- A Client SDK to abstract the client-side integration.
- An API Gateway to facilitate service discovery, normalization, and first-line security for providers.
- Providers can use Gatekeeper to enforce fine-grained DeFi whitelisting rules with ease.

