Avok ships no third-party infrastructure as a default. Each endpoint an app talks to is a trust
boundary, so the integrator chooses who to trust. This is a deliberate posture, not an omission.
No default RPC
An RPC endpoint answers questions like “what address does vitalik.eth resolve to?” A dishonest
one can redirect a user’s funds. So Avok never picks an RPC for you.
Set rpcUrls per chain on the client config. You have three options, none of which requires Avok
to run anything:
- Your own provider URL. A domain-allowlisted key is safe in a browser bundle. It is useless
from any other origin, so a serverless app needs no backend.
- A proxy you host, which keeps the provider key server-side.
- A URL your end user supplies, the way many wallets expose a custom-RPC field.
An unset chain falls back to the registry’s public endpoint, which is development-only. Public
endpoints are rate-limited, carry no SLA, and block the indexed reads a wallet needs. Set rpcUrls
before production.
No default paymaster
The same reasoning applies to sponsorship. A fee payer sees, prices, and can refuse every
transaction you send, so Avok never defaults one. Supply bundlerUrl and paymasterUrl yourself.
See Sponsorship.
This holds even if the SDK’s authors run sponsorship infrastructure. Any such service is one you
may choose to point at, configured exactly like any other provider’s, with no baked-in URL and no
fallback status.
The operator owns the identity
Avok is a white-label SDK: the operator ships their wallet on it. The name, icon, and reverse-DNS
id that a dapp discovers in its wallet picker (over EIP-6963) are the operator’s, supplied at
wiring time through the wallet argument to createAvokClient.
wallet.name and wallet.rdns are recommended. Set them for a proper display name and a stable
id. If you omit either, the wiring derives it from the page’s own origin, so the identity is still
honest: named after the real origin, never anonymous and never an Avok brand.
wallet.icon is optional; a neutral blank placeholder is used until you provide one.