The release notes for our Java SDK.Documentation Index
Fetch the complete documentation index at: https://docs.privy.io/llms.txt
Use this file to discover all available pages before exploring further.
0.54.0
Added
AuthorizationSignerfunctional interface for external signing via KMS, HSM, or hardware wallets. UseAuthorizationContext.addSigner()orAuthorizationContext.withSigner()to register signers.- New
signTransactionandsendTransactionoverloads onPrivyEthereumServicethat acceptUnsignedEthereumTransaction(union of standard and Tempo transactions). Existing overloads forUnsignedStandardEthereumTransactionare preserved for backward compatibility. - Spark Protocol support (Bitcoin/Lightning L2) with ~65 new classes including
SparkNetwork,SparkBalance, lightning invoice support, and RPC methods. - Intent system with
IntentType,IntentAuthorization, and intent lifecycle webhook payloads. - Wallet action webhooks for transfer, swap, earn deposit, earn incentive claim, earn withdraw lifecycles, and yield webhooks.
- Tempo transaction (type 118) support with
UnsignedTempoTransaction,TempoCall,TempoAAAuthorization, andTempoFeePayerSignature. AccessListtype for Ethereum access lists.EthereumSendCallsCall,EthereumSendCallsRpcInput, andEthereumSendCallsRpcResponsefor batched calls.- Export RPC methods:
ExportPrivateKeyRpcInput/ResponseandExportSeedPhraseRpcInput/Response. - New
RawSignInput,RawSignInputParams,RawSignBytesParams,RawSignHashParamstypes replacing the deletedRawSignRequest/RawSignRequestParams. - ABI and smart contract types:
AbiParameter,AbiSchema,EthereumTypedDataInput,TypedData. - Wallet action step types:
WalletActionStep,WalletActionType, and chain-specific variants. - Wallet asset types:
WalletAsset,WalletEthereumAsset,WalletSolanaAsset. - New fields:
referenceIdandexperimentalDataSuffixonEthereumSendTransactionRpcInput;walletIdonEthereumPersonalSignRpcInputandEthereumSignTransactionRpcInput.
Breaking changes
WalletsWallets.update()now takes a singleWalletUpdateRequestobject instead of multi-parameter overloads.Wallets.export()now takes a singleWalletExportRequestobject instead of multi-parameter overloads.WalletUpdateRequest.requestBody()renamed towalletUpdateRequestBody().WalletUpdateRequestBodymoved fromoperationstocomponentspackage.WalletUpdateRequestBody.additionalSigners()changed fromList<WalletAdditionalSignerItem>toList<AdditionalSignerItemInput>.Wallet.additionalSigners()changed fromList<WalletAdditionalSigner>toList<WalletAdditionalSignerItem>.WalletAdditionalSignerdeleted, replaced byWalletAdditionalSignerItem.UserOwnerandPublicKeyOwnerdeleted, replaced byOwnerInputUserandOwnerInputPublicKey.
WalletRpcRequest.requestBody()renamed towalletRpcRequestBody().WalletRpcResponse.oneOf()removed; usewalletRpcResponse()returningOptional<WalletRpcResponse>from thecomponentspackage.WalletRpcRequestBodyandWalletRpcResponseBodymoved fromoperationstocomponentspackage.RawSignRequestandRawSignRequestParams(in operations) deleted, replaced byRawSignInput/RawSignInputParamsin components.- Ethereum transaction field wrapper classes (e.g.,
EthereumSendTransactionRpcInputChainId,...GasLimit,...Value) removed and replaced withUnsignedStandardEthereumTransaction+Quantity. EthereumSignTransactionRpcInputParams.transaction()andEthereumSendTransactionRpcInputParams.transaction()type changed fromUnsignedStandardEthereumTransactiontoUnsignedEthereumTransaction. UseUnsignedEthereumTransaction.of(transaction)to wrap existing instances.
Policies.update()now takes a singlePolicyUpdateRequestobject.Policies.createRule()now takes a singleCreateRuleRequestobject.Policies.deleteRule()now takes a singleDeleteRuleRequestobject.PolicyCreateRequestBody.rules()now acceptsList<Rule>instead ofList<PolicyRuleRequestBody>.PolicyChainTypedeleted, replaced byWalletChainType.PolicyDeleteResponse.object()renamed tosuccessResponse().
KeyQuorums.update()now takes a singleKeyQuorumUpdateRequestobject.KeyQuorumCreateRequestBodyandKeyQuorumUpdateRequestBodymoved fromoperationstocomponentspackage.- Builder methods renamed:
.requestBody()to.keyQuorumCreateRequestBody()/.keyQuorumUpdateRequestBody().
Transaction.status()changed fromStatusEnumtoTransactionStatus.
FundsDepositedWebhookPayload/FundsWithdrawnWebhookPayloadasset sub-types consolidated intoWalletFundsAssetunion.
0.53.0
Changed
- BREAKING:
Statuschanged from an enum (BROADCASTED,CONFIRMED, etc.) to a oneOf union class (StatusOk | StatusDisabled | StatusClosed). This completely changes theStatustype and its API surface. - BREAKING:
Transaction.status()return type changed fromStatus(enum) toStatusEnum(new enum). The oldStatustype is now a different class entirely. - BREAKING:
RawSignRequestParamschanged from a concrete class withbytes(),encoding(),hashFunction()fields to a oneOf union ofHash | Bytes. The builder and all field accessors are removed. - BREAKING:
RawSignRequestParamsUniondeleted;RawSignRequest.params()now returnsRawSignRequestParams(which is the new oneOf type) instead ofRawSignRequestParamsUnion. - BREAKING:
UserLinkedAccountUnlinkRequestBody.type()changed fromType(deleted enum) toLinkedAccountType(new enum).
- BREAKING:
LinkedAccountCurveSigningEmbeddedWallet.recoveryMethod()changed fromLinkedAccountCurveSigningEmbeddedWalletRecoveryMethodtoEmbeddedWalletRecoveryMethod.
- BREAKING:
WalletBalanceRequestconstructor:assetandchainparameters changed from@Nonnullto@Nullable. The short-form constructor now only takeswalletId. Return types ofasset()andchain()changed from direct values toOptional<>. - BREAKING:
RawSignResponseconstructor now requires amethodparameter (new required field). - Multiple linked account embedded wallet constructors now include
importedanddelegatedas requiredbooleanparameters instead of optionalBoolean.
0.50.0
Initial release of the Java SDK. See the quickstart guide for more
details on how to get started.

