Skip to main content

createAvokClient

There are two factories named createAvokClient. They differ by entry point. The two-argument wired factory is what most apps use. wallet is the operator identity, a WalletInfo: { name?: string; rdns?: string; icon?: string }. Every field is optional. Set name and rdns for a proper display name and a stable id; if you omit either, the wiring derives it from the page’s own origin (name from the hostname, rdns from its reverse-DNS form) so the announced identity is honest, never anonymous and never an Avok brand. rdnsFromOrigin(origin) is exported if you want to compute the id yourself.

ClientConfig

Passed as the first argument to createAvokClient.
deps is an internal test-injection seam. SPONSORED.md documents how to inject a custom Bundler, Paymaster7677, or KoraClient through it when a URL is not enough.

The client surface

Every client has the use-only surface. A self-custody (own-origin) connection additionally gets the management verbs.

UseOnlyAvokClient

FullAvokClient (adds, self-custody only)

The wired client (from @avokjs/core) also has getEip1193Provider(): Eip1193Provider.
The public client has no .evm.send or .solana.send method. Sending and signing go through the announced provider. See The provider, not hooks.

Account

There is no name field. A name is add-on data an app resolves and holds itself. See Resolve names.