IBM Launches their Digital Asset Platform Powered by DfnsRead the News

Product

Java SDK

Noah Cornwell
Noah Cornwell
May 22, 2026
Read time:

Announcing the Dfns Java SDK

The Dfns Java SDK is now available, giving Java teams a typed, idiomatic way to integrate the full Dfns API into their applications. The SDK is open source under MIT, requires Java 17 or above, and ships both synchronous and asynchronous clients. It covers every Dfns API domain, including wallets, keys, policies, signers, webhooks, staking, swaps, exchanges, networks, and more.

Get it on GitHub: github.com/dfns/dfns-sdk-java

Why Java, and why now

Java remains one of the most widely deployed languages in regulated financial services. Core banking platforms, payment switches, custody systems, and compliance engines at banks, broker-dealers, and financial market infrastructures are running on JVM stacks today, and our institutional clients have consistently asked for a first-class Java SDK to match. The Dfns Java SDK closes that gap.

For teams building on Dfns from a Java backend, the SDK removes the friction of hand-rolling HTTP clients, request signing, and DTO modelling. Authentication, Ed25519 credential signing, request serialisation, and error handling are all built in. The same patterns Dfns developers already know from our TypeScript, Python, and Go SDKs apply here, with idioms that match what Java developers expect.

What's in the SDK

The SDK exposes every API domain available on the Dfns platform, organised under a single client:

  • Wallets: create, manage, and operate wallets across all supported chains
  • Keys: direct access to Key Orchestration Service (KOS) primitives, including signing
  • Policies: define and enforce transaction policies, approval workflows, and entitlements
  • Signers: manage signers and signing infrastructure
  • Webhooks: subscribe to and verify Dfns webhook events
  • Networks: query supported networks and chain metadata
  • Staking, Swaps, Exchanges, Payouts, Fee Sponsors, Allocations, Agreements, Auth, Permissions: full coverage of the wider platform

Both DfnsClient (synchronous) and DfnsAsyncClient (asynchronous, returning CompletableFuture) are included, so teams can pick the concurrency model that fits their existing stack. The SDK is built with Gradle and distributed under an MIT license.

Quick start:

import co.dfns.sdk.*;
import co.dfns.sdk.auth.*;

// Create a signer with your credential ID and private key
Signer signer = KeySigner.fromEd25519PrivateKey("cr-xxx-xxx", privateKeyBytes);

DfnsClientConfig config = DfnsClientConfig.builder()
    .authToken("your-auth-token")
    .signer(signer)
    .build();

DfnsClient client = new DfnsClient(config);
DfnsAsyncClient asyncClient = new DfnsAsyncClient(config);

Getting started

The SDK is open source on GitHub. Pull it in via Gradle, set up a Dfns service account or end-user credential, and you have full access to Wallets-as-a-Service, Transaction Lifecycle Management, Key Orchestration, and Wallet Entitlement Management from a Java application.

Authors