-
29c91b1: Added CLI device code approval for updating published and pending access key spending limits.
await provider.request({ method: "wallet_updateAccessKey", params: [ { address: accountAddress, accessKeyAddress, limits: [{ token, limit }], }, ], });
- 77a68ab: Fixed the Privy React adapter to select embedded wallets and continue when an embedded wallet is available before Privy reports wallet readiness.
- 0a39059: Fixed MPP clients routing chain RPCs through the active chain instead of the requested chain.
- 7480125: Forward fee payer URLs to JSON-RPC wallets.
- 9d2bdc8: Skipped EIP-6963 provider announcement when
crypto.randomUUIDis unavailable (e.g. insecure contexts). - 29776b4: Added
{ domains }form to thewallet_connectidentity.emailcapability for restricting email entry to allowed domains. - 5351e1c: Added
paradigm.xyzto the list of trusted hosts.
- 03c1161: Added string and
{ address }forms to thewallet_connectidentity.emailcapability for requiring a specific email.
- 2cfca91: Updated
viem(>=2.54.0) andox(~0.14.30) for the config-id-free TIP-1061 multisig format, removinggenesisConfigIdfrom the multisig relayResolveConfig,Operation, andStatusshapes.
- 186b1f7: Added provider MPP account resolution parameters for locally managed access keys.
- 2e092e9: Added exact access-key selection for provider-backed mppx parameters.
- d5c0d66: Changed
Mount.autoto allow trusted hosts to use iframe mounts without IntersectionObserver v2 support. - 98a8138: Added
identitytoProvider.create, minting verified-email id tokens from a configured OIDC issuer when local adapters fulfillwallet_connect. - 4aa479d: Add SIWE resources to wallet_connect auth challenges, support server-provided SIWE statements in Handler.auth, and preserve extra auth verify JSON fields.
- 3610539: Added adapter-supplied default access-key keystores via
Adapter.Instance.accessKey.keystores, replacing the removedgenerateAccessKey. - a94dcff: Bumped
honoto4.12.25(catalog + override for transitive@modelcontextprotocol/sdkpaths) to clear the remainingpnpm auditadvisories: CORS middleware origin reflection (high),serve-staticpath traversal, and the AWS Lambda Set-Cookie/body-limit/header issues. - 0406c1c: Upgraded vulnerable transitive dependencies to patched versions to clear
pnpm audit(vite-plus, vite, ws, tmp, form-data, protobufjs, tar, js-yaml, launch-editor, @babel/core, dompurify). - a65930b: Bumped the
mppxdependency to^0.7.0. - 9aa1ed4: Fixed
eth_fillTransactionto estimate gas for the signing key's signature size instead of always assuming secp256k1. - 3610539: Added an
accessKeyoption group toProvider.create—accessKey.keystoresfor pluggable per-key-type access-key keystores andaccessKey.authorizesuperseding the now-deprecated top-levelauthorizeAccessKey. - 0b960e2: Restored popup treatment in Safari for wallet_connect in the postMessage adapter.
- b588aa8: Upgraded the
watadependency to0.2.0and migrated thepostMessageandmobileWebAuthadapters to its asyncwata.start()session API.
-
fa0434f: Added
wallet_updateAccessKeyto update an access key's spending limits in place. -
c5bbc8d: Added multisig approval collection to
Handler.relay. -
ab78127: Fixed raw sponsored transaction signing to restore the configured fee token when the serialized transaction omits it.
-
a993dff: Remove the
accounts/react-nativesubpath; importasyncStoragefromaccounts/react-native/async-storageinstead. -
05d5458: Removed the T5 hardfork gate so TIP-1053 witness binding always collapses access-key authorization and the auth proof into a single passkey ceremony.
-
8203e44: Add encrypted MMKV-backed React Native storage that manages its SecureStore encryption key internally.
Remove
secureStoragefromaccounts/react-native/expo-secure-store; usesecureMmkvfromaccounts/react-native/secure-mmkvinstead. -
a188f7e: Introduced
postMessageadapter built on the Wata transport of the same name.Updated the
tempoWalletadapter to usepostMessage.Deprecated
dialogadapter in favor ofpostMessage.
-
e15e2a4: Added
mobileWebAuth()andtempoWalletMobileWebAuth()adapters, also available fromaccounts/mobileWebAuthasmobileWebAuthandtempoWallet.Added
accounts/react-native/expo-web-browser.Added
ProviderRequest.parse().Renamed
accounts/react-native/secure-storagetoaccounts/react-native/expo-secure-store.Removed the
reactNative()adapter.
- d0d3cea: Added OIDC identity-token support for verified email extraction.
-
8a9564b: Persist CLI access keys in filesystem-backed provider storage.
-
edab403: Allow
Provider.create({ authorizeAccessKey })to returnundefinedto skip access-key authorization for the currentwallet_connect. -
df1615e: Persist access keys through provider storage.
-
1478791: Add provider-owned RPC action handling for adapters that expose a viem account with
getAccount.Adapters can now implement
getAccountand optionalgenerateAccessKeyinstead of duplicating transaction, signing, and access-key RPC actions. -
ad48834: Allowed the React Native adapter to connect without requesting an access key.
-
648df76: Make
accounts/react-nativeadapter-only and move React Native storage adapters behind explicit subpaths. -
694e022: Added a React Privy adapter at
accounts/react/privy, backed Privy Ethereum signing withsecp256k1_sign, and stopped exporting the lower-level Core JS Privy adapter from the root package entrypoint. -
b1a3a69: Added ability to batch key authorization + server auth into one digest.
-
18052eb: Added opt-in
identity.emailrequest capability towallet_connect.
- 89a107f: Fixed getAccounts to respect signable.
- a33ed22: Added a
strictoption toRemote.validateSearchto let trusted wallet routes defer access-key policy validation. - b6fb206: Added
showDepositsupport towallet_authorizeAccessKeyrequests.
- 8afc239: Fix React Native auth token handling and mobile auth URL encoding.
- 801e18a: Simplified Privy account loading and fixed stale wallet cache handling after failed account selection.
- f176676: Point React Native mobile authentication at the remote manager route.
- 022d947: Simplified Privy account loading and fixed stale wallet cache handling after failed account selection.
- 62705cb: Added an
onfilter to thewallet_connectshowDepositcapability to direct if the deposit screen should be shown on login or register.
- feb1ab6: Breaking: Updated Tempo chain imports to use scoped chain entrypoints. Bump your Viem version to
>=2.50.4.
- 7aeec48: Fixed access key authorization to reject requests that require external key material when none is provided.
- 78778cb: Added a Privy adapter for connecting and signing with app-provided Privy embedded wallet accounts.
- e15757f: Added a
showDepositcapability towallet_connect.
-
0666744: Breaking: Changed
Handler.auth()to require callers to provideoriginordomain, so SIWE challenge and verify flows pinned domain binding instead of deriving it from requestHostheaders. -
f652ff2: Breaking: Updated
wallet_depositparams to useamountandtokenand removedvalue.provider.request({ method: 'wallet_deposit', - params: [{ value: '25' }], + params: [{ amount: '25', token: 'pathUSD' }], })
- ab516b7: Fixed WebAuthn credential storage to bind credentials to their registered user id and use atomic duplicate rejection when the configured
Kvsupports it. - 4029a37: Fixed dialog auth capability handling to forward returned auth tokens through wallet connection account results.
- bdd6b39: Rejected unsafe app-provided external fee-payer URLs unless relay config explicitly allowed unsafe URLs.
- c64d825: Fixed
wallet_connectauth handling to allow derived or forwarded auth endpoints without dropping the SIWE signature. - dd5d399: Fixed access-key authorization lifecycle handling so pending authorizations stayed attached until publication was known.
- 22153c8: Added access-key publication status helpers and matched scoped key policies locally without crashing on malformed scope data.
- c97987d: Documented chain-qualified relay routes and showed the MPP example server sponsoring pull-mode charge transactions.
- 652ae1a: Added error details to
wallet_sendCallsfailures so viem push-mode fallbacks preserved the original provider error. - 91b5699: Passed MPP session options from
Provider.create({ mpp })through to mppx so clients could configure session deposits. - 8c4b343: Kept pending access-key authorization through fill and signing-only flows so first-use MPP charges and activation gas estimates could publish the key.
- 20cf1d2: Preserved wallet-host RPC error codes when dialog requests failed so validation errors were no longer reported as user rejection.
- 2f2f85e: Removed
signaturefromauthorizeAccessKey.Parameters. - e91311f: Defaulted
feeTokento chain settlement token in Path A. Protected resolved token fromfill()null-clobber. Fixed sponsored transactions reverting with insufficient FeeAMM liquidity.
-
91711b3: Changed the default value of
mpponProvider.createtotrue. Machine Payment Protocol (mppx) support is now enabled by default -- passmpp: falseto opt out. -
5c46dd4: Breaking: Renamed
wallet_sendtowallet_transfer. The method now defaults to "read-only" mode.For previous behavior, pass
editable: trueto open the editable flow.provider.request({ - method: 'wallet_send', - params: [{ token: '0x...' }], + method: 'wallet_transfer', + params: [{ editable: true, token: '0x...' }], })
- d545edf: Carried
keyTypethrough on non-signable json-rpc accounts so the viem/tempo transaction formatter can derive the correctkeyType/keyDataplaceholder bytes duringeth_fillTransactiongas estimation (notably for WebAuthn EOAs). - 59046a4: Made
keyAuthorization.addressoptional in the RPC schema. RPC nodes return prepared transactions with onlykeyId(the access key address), so requiringaddressrejected valideth_signTransactionpayloads when MPP signed via an access key. - 5a15e7d: Relaxed the
idparameter onKv.durableObject.Namespace.getfromunknowntoanyso Cloudflare'sDurableObjectNamespace<T>is structurally assignable without an intermediate cast at the call site. - 6d6cc9e: Skipped the
mppxglobalThis.fetchpolyfill on runtimes wherefetchis read-only (e.g. Cloudflare Workers). Addedmpp.polyfilloption for explicit control; defaults to auto-detect via the property descriptor. - d545edf: Fixed
localandturnkeyadapters droppingpublicKeywhen preparing key authorizations, which caused the wallet to sign authorizations for a freshly-generated address instead of the caller-supplied one. - 63c9d5c: Removed console warning from expected signing paths in dialog adapter.
- f0757a4: Simplified loadAccounts and createAccount in turnkey adapter.
- 9d20725: Issued a
Handler.webAuthnsession on successful registration (matching/login), revoked it viawallet_disconnectin the WebAuthn adapter, and surfaced a consistent base64url-encodeduserIdacross/registerand/login. - 5a15e7d: Defaulted
Handler.auth({ trustProxy })totrueon Cloudflare Workers and appended atrustProxy/originhint to "domain mismatch" / "uri mismatch" errors raised fromwallet_connect.
-
0a73f2c: Renamed the
wallet_sendvalueparameter toamount.await provider.request({ method: 'wallet_send', params: [{ to: '0x...', token: '0x20c0000000000000000000000000000000000001', - value: '1.5', + amount: '1.5', }], })
- 43b8700: Fixed access keys selection to include chain.
- b4a08ef: Fixed access key selection in the dialog adapter by forwarding calls.
- b4a08ef: Added console logging in the dialog adapter's access key fallback path.
- 0a73f2c: Added an optional
memoparameter towallet_sendthat the wallet attaches to TIP-20 transfers and rejects withInvalidParamsErrorfor non-TIP-20 tokens. - 0a73f2c: Widened the
wallet_sendtokenparameter to accept a curated tokenlist symbol (case-insensitive, e.g."pathUsd") in addition to a contract address.
- 7cb2162: Exposed the
Adapternamespace from the package root so consumers can author custom adapters withAdapter.define. - 195d6e8: Fixed scoped access key selection to only match keys whose scopes covered the current transaction calls.
- 70814cd: Made
turnkeycreateAccountoptional and default registration requests toloadAccounts.
-
e12ae75: Added
authoption to thewebAuthnadapter, mirroring the Providerauthcapability shape (string | { url, ... }); the existingauthUrloption is preserved as a deprecated alias.- webAuthn({ authUrl: '/webauthn' }) + webAuthn({ auth: '/webauthn' })
-
b65893e: Renamed the
dangerous_secp256k1adapter tosecp256k1. The old name is preserved as a deprecated alias so existing imports keep working.- import { dangerous_secp256k1 } from 'accounts' + import { secp256k1 } from 'accounts'
- f36c350: Widened
getSessionto accept Node.jshttp.IncomingMessagein addition to Fetch APIRequest. - ef44a68: Fixed
Handler.relay()to return an actionable error wheneth_signRawTransactionis called without a fee payer configured, instead of forwarding to the RPC node which returns an opaque "Method not found".
- a5ca0be: Fixed
Handler.relayforwardingkeyAuthorizationtoeth_fillTransactionin the internal envelope shape instead of the RPC shape the chain expects. - dccc343: Added a Turnkey adapter for connecting and signing with app-provided Turnkey wallet accounts.
- 4095a24: Fixed support for external
feePayerURLs onHandler.relay. - 4095a24: Added
feeTokentoHandler.relay'sfeePayeroption so the sponsor can pin the fee token used on sponsored fills.
- f1cddef: Bumped
honoto^4.12.18.
-
1334969: Breaking: Made the
errorscapability opt-in onHandler.relay'seth_fillTransactionso reverts now throw JSON-RPC errors by default unlesscapabilities.errors: trueis set. -
e995c28: Breaking: Renamed
Handler.webAuthnoptionchallengeTtltottl.challenge.Handler.webAuthn({ kv, origin: 'https://example.com', rpId: 'example.com', - challengeTtl: 600, + ttl: { challenge: 600 }, }) -
e995c28: Breaking: Changed
Handler.webAuthn'sonAuthenticatehook rejection status from400to401when the hook throws.// POST /login response when `onAuthenticate` throws `new Error('blocked')`: - HTTP/1.1 400 Bad Request + HTTP/1.1 401 Unauthorized Content-Type: application/json {"error":"blocked"} -
e995c28: Breaking: Made
Handler.webAuthnissue a session cookie and persist a session entry undersession:<token>inkvon successful/loginby default -- opt out viasession: falseorcookie: false.// Default behavior -- `/login` now sets a cookie and writes to kv. Handler.webAuthn({ kv, origin, rpId }) // Pre-PR behavior (no cookie, no kv session writes, no `/logout`): + Handler.webAuthn({ kv, origin, rpId, session: false }) // Or just disable cookie issuance and return the token in the body: + Handler.webAuthn({ kv, origin, rpId, cookie: false })
- 340509d: Added an
authcapability towallet_connect. - 1a2cdfa: Required byte-equality between the submitted SIWE message and the stored challenge in the
authserver handler's verify endpoint. - e995c28: Added
sessionoption toHandler.authand allowedonAuthenticateto return aResponsewhose body and status are merged onto the verify response. - 1334969: Changed the default
hoston the CLIProvider.createfromhttps://wallet.tempo.xyz/cli-authtohttps://wallet.tempo.xyz/api/auth/cli. - 1334969: Fixed the
dialogadapter to fall through to the dialog (instead of removing the access key) when a sign action reverts withInsufficientBalance. - 38a840a: Added a
personalSigncapability towallet_connect. - 1334969: Widened
mpponProvider.createto accept an options object with amode: 'push' | 'pull'field and changed the default mode to'push'(the CLIProviderstill defaults to'pull'). - 1334969: Added
relayandtransportsoptions toProvider.createfor per-chain RPC routing. - 1334969: Surfaced the underlying upstream JSON-RPC error from
Handler.relayinstead of viem'sRpcRequestErrorwrapper, and forwardedkeyAuthorizationthrougheth_fillTransactionnormalization. - e995c28: Added
cookie,cookieName,session, andttl.sessionoptions, agetSession()method, and a/logoutroute toHandler.webAuthn.
- 654f607: Updated trusted hosts
-
063680a: Generalized remote theme handling: switched to
data-theme-radius,data-theme-accent, and--theme-accenthooks, includedschemein live theme messages, and let the consuming app own preset-to-UI mapping. ThefontURL param and--font-bodyinjection were removed — consumers now own font loading.- [data-accent='blue'] { … } + [data-theme-accent='blue'] { … } - [data-radius='medium'] { … } + [data-theme-radius='medium'] { … } - :root { background: var(--accent-base); } + :root { background: var(--theme-accent); } - // ?accent=…&radius=…&font=…&scheme=… + // ?accent=…&radius=…&scheme=…
- ce5677d: Added relay virtual-address resolution metadata to
eth_fillTransactioncapabilities.
- fc3d61c: Optimized
Handler.relay'seth_fillTransactionpath with a speculative sponsored fill (skipping fee-token resolution when the sponsor accepts), KV-cachedActions.fee.getUserTokenlookups, and acapabilities.balanceDiffs: falseopt-out that skips the post-filltempo_simulateV1round trip.
- 56d9b26: Added
keyType,keyId, andkeyDatato thetransactionRequestZod schema so they survive decoding when callers (e.g. wagmi) include them oneth_fillTransaction/eth_sendTransaction/eth_signTransactionpayloads.
- 451f4f5: Added the transaction's call targets as fallback fee-token candidates in
Handler.relayso users transferring a token they hold can pay gas in that token without an autoSwap. - 1d75917: Fixed
Handler.relayto treat the pre-emptive fee-token autoSwap as best-effort, falling back to the resolvedfeeTokeninstead of failing when the swap itself can't be filled. - 451f4f5: Added
chainIdto thewallet_sendreturn value alongsidereceiptso callers can identify which chain the receipt belongs to.
- 763ccfc: Treated
undefinedas "no value" inStorage.combinereads so adapters that returnundefinedfor missing keys (Map-backed, custom caches) fell through to the next adapter instead of short-circuiting.
- a15e214: Renamed
input→tokenandoutput→pairTokeninPOST /exchange/quote - 81f8183: Included token logo URIs (
logoUri) in theGET /exchange/tokensresponse. - 9a19429: Added
receiptsto thewallet_depositRPC response. - 176c1d3: Added
wallet_depositZoneandwallet_withdrawZoneRPC methods for moving funds between the parent Tempo chain and a private zone.
- a9c2b0d: Added
Handler.exchange()for the Tempo Stablecoin DEX, exposingGET /exchange/tokensandPOST /exchange/quote. - 5c5988f: Exported
ExecutionError. - 5c5988f: Fixed relay default pass-through to return upstream RPC errors as structured JSON-RPC errors instead of HTTP 500.
- b06061e: Changed
wallet_swapamountparameter from raw hex to a human-readable decimal string (e.g."1.5"), matchingwallet_send'svalue.
- f3ac13b: Bumped
mppxto0.6.5. - 3c77fe7: Passed the resolved CLI auth chain ID to
CliAuth.Policy.validate. - ba69e15: Allowed CLI auth approvals to return a different expiry or spending limits when the submitted signature covers those values.
- 37cf2a9: Replaced the
.localshortcut inTrustedHosts.matchwith an opt-insourceparameter that treats hostnames sharing the same registrable domain ("eTLD+1") assourceas trusted. - 08c0e12: Added
wallet_swapRPC action.
- 9ffdd28: Modified
wallet_sendto return{ receipt }instead of{ transactionHash } - 9ffdd28: Resolved relative
feePayerURLs inClient.fromChainIdagainstwindow.location.originin the browser. - 3ec1b23: Added
wallet_sendRPC action. - 7c62e76: Fixed
Remote.ready()reverting persisted chain by removing stalechainIdURL param switch. - 8b6265a: Logged access key sign errors in the
dialogadapter'swithAccessKeycatch block viaconsole.warnbefore removing the stale key. - 9ffdd28: Merged original
eth_fillTransactionrequest fields (calls, chainId, validBefore, key data, feePayer) into the chain's filled tx so sponsorship envelope serialization no longer throwsCallsEmptyError. - 9ffdd28: Forwarded upstream relay
capabilities.autoSwapandInsufficientBalanceerrors through the wallet relay so external fee-payer fills surface autoSwap metadata and trigger the local autoSwap fallback. - 447707a: Made
wallet_revokeAccessKeyon the local adapter send arevokeKeytransaction to the AccountKeychain precompile viaActions.accessKey.revokebefore removing the key from the local store. - 77b094b: Fixed
wallet_revokeAccessKeyin the local adapter crashing withKeyNotFoundwhen the access key was only authorized locally and never registered on-chain via a transaction. - 9ffdd28: Added
feePayerparameter towallet_sendfor per-call fee payer override. - 9ffdd28: Exported
Rpc.wallet_send.parameterszod schema for thewallet_sendparameters object.
- c4b669b: Fixed relay handler gas bump not applying when
feePayeris present. The condition checkedresult.tx.feePayer(node response) which is not set; now checksrequest.feePayer(the input).
- d058f26: Updated default dialog host from
https://wallet.tempo.xyz/embedtohttps://wallet-next.tempo.xyz. - d058f26: Added runtime theme sync for iframe dialog. Theme changes (accent, radius, font) now propagate to the cached iframe without reloading via the
syncThememethod and a newthememessenger topic.
- d058f26: Changed
chainIdtype inwallet_authorizeAccessKeyparameters andAdapter.authorizeAccessKey.Parametersfromnumbertobigintto match ox/viem'sKeyAuthorization.chainId. - d058f26: Added label-based deduplication in
wallet_connectto sign in with an existing credential when a matching account label is found during registration. - d058f26: Fixed
feePayer: falseto correctly propagate throughresolveFeePayerandprepareTransactionRequest, allowing per-request opt-out of fee payers. - d058f26: Added support for app-provided fee payer URLs in
Handler.relay. The relay now proxieseth_fillTransactionthrough an external fee payer service when a URL is provided, and passes through sponsor metadata from the upstream response. - d058f26: Added a 20k gas buffer for sponsored transactions in the relay to prevent out-of-gas reverts from signature size differences.
- d058f26: Changed fee token resolution in the relay to lazily resolve swap source tokens on
InsufficientBalanceinstead of eagerly resolving upfront. - d058f26: Restructured relay fill logic into three paths (guaranteed, conditional, no sponsorship) with parallelized simulation, signing, and autoSwap metadata resolution.
- d058f26: Added
nameandurlfields to relay sponsor metadata ineth_fillTransactionresponses. - d058f26: Added
feePayerSignature,periodon key authorization limits, anddisplayNameonwallet_depositto RPC schemas. Exportedwallet_authorizeAccessKey.returns. - d058f26: Added
maxAccountsoption toProvider.createandStore.createfor LRU eviction of persisted accounts. - d058f26: Added
.localTLD to trusted hosts for local development. - d058f26: Passed registration
namethrough the webAuthn challenge store so it is available in theonRegistercallback.
- 6be8e14: Added
chainIdparameter towallet_authorizeAccessKeyto allow scoping key authorizations to a specific chain instead of defaulting to the active chain. - b8863bb: Deprecated
accounts/wagmi. Consumers should use the following entrypoints instead:wagmi/tempo,@wagmi/core/tempo, orwagmi/connectors(when they only needtempoWallet).- wagmi@0.0.0
- 8792ea4: Added
scopesandlimits.periodtoauthorizeAccessKey. - 8792ea4: Added support for Tempo Devnet.
- fbd691f: Updated dependencies.
-
bcd4ec3: Breaking: Added
featuresoption toHandler.relayto control feature enablement.features: 'all'enables fee token resolution, auto-swap, and simulation (balance diffs + fee breakdown), at the cost of network latency.- If
featuresis not present, only enables fee payer sponsorship by default.
-
97ea5b4: Removed
Handler.feePayer. UpdatedHandler.relayto be backwards compatible withHandler.feePayer.
- d6a4620: Added
errorandrequireFundscapabilities toeth_fillTransactionrelay responses. - 3064657: Add a shared
CliAuth.from()helper to reuse CLI auth defaults and cached clients across create, pending, poll, and authorize flows, and reject device-code requests for unconfigured chains.
- 572cde0: Bumped trusted hosts
- 85d462d: Added JSON-RPC batch request support to
Handler.relay. The handler now accepts arrays of JSON-RPC request objects and returns an array of responses, matching the JSON-RPC 2.0 batch spec.
- f3d04b5: Updated RPC types.
- a5f538a: Added
callstocapabilities.autoSwapcontaining the injected swap calls (approve + buy).
- e12d57c: Added
autoSwap: falseto disable automatic AMM resolution onHandler.relay. - e12d57c: Renamed
feeSwaptoautoSwaponHandler.relayoptions and response metadata. - 60e0f5f: Renamed
metatocapabilitiesineth_fillTransactionresponse.
- 3f2ce93: Fixed external access key authorisation in dialog adapter.
- 3f2ce93: Added
validatecallback toHandler.feePayerandHandler.relayfor conditional sponsorship. - 3f2ce93: Added
Handler.relaywith fee token resolution, simulation, AMM auto-swap, and sponsoring.
- 1aa18fe: Added
feePayertowallet_sendCallscapabilities andwallet_getCapabilitiesresponse. - 1aa18fe: Support
feePayer: falseto opt out of fee payers on a per-transaction basis when a provider-level fee payer is configured.
- 36db0d9: Breaking: Renamed
feePayerUrltofeePayer.
- 901cfee: Fixed iframe dialog getting stuck on "Check prompt" when the store is swapped during React re-renders.
- b4c87a3: Fixed iframe dialog getting stuck on "Check prompt" when the store is swapped during React re-renders.
- 567bf0a: Added
accounts/react-nativeentrypoint with React Native adapter and storage implementation.
- cc334ff: Injected active
chainIdinto transaction requests when the consumer does not provide one.
- 6eff229: Added
privateKeysupport todangerous_secp256k1()so wagmi configs could pin distinct signers per connector.
- b03c228: Bumped deps
- 4936c12: Fixed
Dialog.iframe()injecting duplicate iframes by caching the instance as a singleton keyed by host.
- 7134f07: Updated internal dependencies.
- 1450dd5: Fixed the wagmi WebAuthn connector to forward authUrl so server-backed WebAuthn flows correctly called /auth/* instead of falling back to local-only mode.
- 6c80aba: Fixed dialog backdrop appearing black on macOS Light mode.
- 5b4ce03: Public release.
- 0228a50: Fixed
Dialog.isInsecureContext()to returntrueforhttp:protocol —http://localhostis a secure context but WebAuthn still requires HTTPS, so the dialog now correctly defaults to popup. - 0228a50: Fixed
feePayerUrlto be used by default when configured — previously requiredfeePayer: trueon each transaction, now auto-applies unless explicitly opted out withfeePayer: false.
- 825ece0: Added
dangerous_secp256k1wagmi connector.
- 88ff46d: Added
tempo-docs-git-jxom-accounts-sdk-docs-tempoxyz.vercel.appto trusted hosts.
- 0289ff0: Renamed
Handler.webauthntoHandler.webAuthn.
- e892698: Renamed
CeremonytoWebAuthnCeremony. - 59d5d90: Renamed
Handler.webauthntoHandler.webAuthn.
- f7929e2: Added
onErroroption toRemote.respond. Returntruefrom the callback to suppress the error response to the parent, allowing the dialog to show a recovery UI instead of rejecting.
- 54a9395: Added
wallet_depositRPC method for requesting funds. On testnet, shows a faucet UI. On mainnet, shows a bridge deposit flow. FixedRemote.respondto correctly handle void return types.
- 0a3396c: Handle
eth_fillTransactionin Provider to inject pendingkeyAuthorizationfor access key accounts.
- ba93170: Enabled MPP on provider with pull mode by default.
- 46cd976: Made CLI use wallet.tempo.xyz as server and keys.toml
- 00de151: Added provider transport to
getClient()so viem actions route through the provider adapter. Accepted standardto/datafields ineth_sendTransactionand converted them to Tempocallsformat.
- 715d830: Moved trusted hosts list to
trusted-hosts.jsonat the project root.
- b7151af: Added
chainIdinwallet_connectto set the active chain before the dialog opens.
- 0df27dd: Added
*.localhostandbenedict.devto trusted hosts.
- 867b9ae: Fixed Safari using popup instead of iframe for non-WebAuthn requests (e.g.
sendTransaction). - dfb552b: Added
*.tempo.xyzto trusted hosts.
- 7341ffc: Added
TrustedHosts.match()with wildcard pattern support (e.g.*.porto.workers.dev).
- 3854ee4: Added
TrustedHostsmodule with per-dialog-host trusted origin mappings. Acceptedreadonly string[]fortrustedHostsinRemote.create.
- e006f99: Fixed duplicate EIP-6963 provider announcements for the same wallet rdns.
- 5795462: Broke circular dependency between
Schemaandrpcmodules that caused runtime errors when bundled with esbuild. - a622e07: Defaulted to popup dialog on insecure (HTTP) contexts where iframes cannot use WebAuthn.
- a622e07: Stripped
www.prefix when checking trusted hosts for dialog origin validation.
- 1b9e9a6: Added
Remote.noop()for SSR environments and handled Bitwarden blocking WebAuthn in cross-origin iframes. - 457f7a7: Added strict parameter validation for
wallet_authorizeAccessKeyandwallet_connectin dialog adapters.limitsis now required when authorizing access keys through the dialog. AddedRemote.validateSearchto validate search params with formatted error messages and automatic rejection viaremote.rejectAll.
- e0724cd: Added
wallet_authorizeAccessKeysupport to the CLI adapter, allowing access keys to be authorized independently fromwallet_connect.
- c86cd60: Added fee payer support for the dialog adapter. When
feePayerUrlis configured, transactions sent through the dialog embed now usewithFeePayertransports for preparation and sending. - 1525992: Added warning when dialog adapter is initialized on a non-secure (HTTP) origin.
- c7c1682: Fixed
wallet_getCallsStatusreturning status 500 for pending transactions. Now returns status 100 wheneth_getTransactionReceiptis null, allowingwaitForCallsStatusto continue polling until inclusion. - bd37754: Fixed
dialogwagmi connector droppingProvider.createoptions likeauthorizeAccessKeyandfeePayerUrl. Now forwards all remaining options tosetup().
- 75e4cf2: Fixed iframe dialog being silently removed by React 19 hydration in Next.js App Router. A
MutationObservernow detects removal and re-appends the dialog with a fresh messenger bridge.
- bf06710: Added CLI adapter & provider via an
accounts/clientrypoint. - 4a52018: Added
accounts/reactentrypoint withRemote.useStateandRemote.useEnsureVisibilityhooks. ExposedtrustedHostson theRemotetype.
- b2a347c: Updated zile.
- f257ccc: Initial release.