Added
- Add Tempo support to wallet balances, wallet transfers, transaction payloads, and wallet action webhook types.
- Add
pathusdas a supported wallet asset. - Add
FactoryandFactoryDatafields toUserOperationInput. - API updates.
Added
- Add Veda earn vault support with the
vedaearn provider. - Add earn fee collection wallet action types, including
EarnFeeCollectActionResponse. - Add
wallet_action.earn_fee_collect.*webhook payload types.
Deprecated
- Deprecated
Amountinside token transfer source structs. Use the top-levelAmountfield for transfer requests.
Breaking changes
TokenTransferSourceOfNamedTokenTransferSourceandTokenTransferSourceOfCustomTokenTransferSourcenow take only asset and chain parameters; pass transfer amounts through the top-levelAmountrequest field.
Added
- Add typed
Wallets.Tronservice withSignTransactionandSendTransactionmethods. - Add Spark withdrawal support with new
SparkWithdrawRpcInputandSparkGetWithdrawalFeeQuoteRpcInputrequest types, cooperative exit quotes (SparkCoopExitFeeQuote,SparkCoopExitRequest), and a configurableSparkExitSpeed(FAST,MEDIUM,SLOW). - Add
WalletTronAssetto wallet balance responses. - Add
AaveVaultDetailsandMorphoVaultDetailsto wallet earn actions. - Add
TransactionChainNameInputfor referencing chains by name.
Added
- Add
Verify()on the webhook service for Svix signature verification and typed deserialization into aWebhookPayloaddiscriminated union. - Add
WithRequestOptions(...option.RequestOption)helper to forward per-call request options (e.g.option.WithHTTPClient,option.WithRequestTimeout) through wrapper methods to the generated client. - Add a default
*http.Clientwith a request timeout when no custom client is configured. - Add
DisableRequestExpiryoption to opt out of automatically sending theprivy-request-expiryheader. - Add
PrivyRequestExpiryOptionswithDefaultMs,DefaultIntentMs, andDisabledfields onPrivyClientOptions.RequestExpiry. Intents endpoints (Rpc,Transfer,UpdateWallet,NewPolicyRule,DeletePolicyRule,UpdatePolicy,UpdatePolicyRule,UpdateKeyQuorum) now default to a 72-hour expiry. - Add a large set of typed webhook payload types for user, intent, wallet-action, transaction, earn, MFA, funds, and yield events.
- API updates.
Deprecated
- Top-level
PrivyClientOptions.DefaultRequestExpiryMsin favor ofRequestExpiry.DefaultMs. - Top-level
PrivyClientOptions.DisableRequestExpiryin favor ofRequestExpiry.Disabled.
Breaking changes
TokenTransferSourceis now aTokenTransferSourceUniondiscriminated union.Transfercalls must construct the source viaOfNamedTokenTransferSource(e.g. USDC) orOfCustomTokenTransferSource(with an explicitasset_address).- Ethereum transaction fields and responses that previously returned
UnsignedStandardEthereumTransactionnow returnUnsignedEthereumTransactionUnion. Code that type-asserted the concrete type must handle the union. - Default HTTP timeout. Clients that did not configure a custom
HTTPClientnow get one with a default request timeout. Override viaoption.WithRequestTimeoutor a customHTTPClientif long-running calls require more time.
Added
- Allow configuring a default
*http.ClientviaPrivyClientOptions. - API updates.
Breaking changes
- Response structs are now globally suffixed instead of request structs. Type names throughout the SDK have been updated accordingly (e.g.,
EthereumSendTransactionRpcInputParamis nowEthereumSendTransactionRpcInput).
Added
- Support for
privy-request-expiryheader on wallet, policy, and key quorum methods. A default expiry of 15 minutes is applied automatically and can be customized viaPrivyClientOptions.DefaultRequestExpiryMsor per-request withWithRequestExpiry. - New
Appsservice for app configuration and allowlist management. - New
Webhooks,Analytics, andAggregationsservices. - New
Intentsservice for intent-based approval workflows. - Spark chain support via
WalletChainTypeSpark. - API updates.
Breaking changes
RpcOptionis now an interface type (RequestOption) instead of a function type.RpcOptionis kept as a type alias. Code using the provided helpers (WithAuthorizationContext,WithIdempotencyKey) is unaffected, but customRpcOptionfunction literals will no longer compile.WalletRpcParamsbody fields are now nested inside aWalletRpcRequestBodyfield of typeWalletRpcRequestBodyUnionParam.WalletRawSignParamsbody fields are now nested inside aRawSignInputfield. The inner union type is renamed fromWalletRawSignParamsParamsUniontoRawSignInputParamsUnion, with variants renamed fromWalletRawSignParamsParamsHash/WalletRawSignParamsParamsBytestoRawSignHashParams/RawSignBytesParams.WalletUpdateParamsbody fields are now nested inside aWalletUpdateRequestBodyfield.KeyQuorumNewParamsbody fields are now nested inside aKeyQuorumCreateRequestBodyfield.KeyQuorumUpdateParamsbody fields are now nested inside aKeyQuorumUpdateRequestBodyfield.WalletRawSignResponserenamed toRawSignResponse.PolicyDeleteResponse,PolicyDeleteRuleResponse, andKeyQuorumDeleteResponseconsolidated intoSuccessResponse.- RPC input types gained a
Paramsuffix (e.g.EthereumPersonalSignRpcInputis nowEthereumPersonalSignRpcInputParam). WalletExportParamsEncryptionTyperenamed toHpkeEncryption(constantWalletExportParamsEncryptionTypeHpkeis nowHpkeEncryptionHpke).PolicyNewParamsChainTypereplaced byWalletChainType(e.g.PolicyNewParamsChainTypeEthereumis nowWalletChainTypeEthereum).
Added
- Added wallet import utility via
Wallets.Importwith HPKE support. - Added
GenerateAuthorizationSignaturesForRequestfor creating authorization signatures for requests.
Initial release of the Go SDK. See the quickstart guide for more
details on how to get started.

