The Java SDK is designed for server-side/backend applications. It handles request signing and provides typed access to the DFNS API.
You can find the repository on GitHub.
Requirements: Java 17+.
Installation
Local Maven
From the source code
Maven Central publishing is being finalized. Until it lands, build the SDK from source and install it into your local Maven repository.
Clone the repository and publish it to your local Maven repository (~/.m2). The bundled Gradle wrapper downloads its own Gradle, so no local Gradle install is needed:This installs co.dfns:dfns-sdk-java:1.0.0 into ~/.m2/repository. The local repository is on Maven’s search path by default, so add the dependency to your pom.xml:Transitive dependencies (Jackson, Bouncy Castle) are declared in the published POM and resolved automatically. Re-run ./gradlew publishToMavenLocal after pulling a newer version of the SDK.If you use Gradle, you can skip the publish step and build the SDK from a cloned copy as part of your own build, using a composite build. This needs no local Maven repository. It also works well in CI: add the SDK as a git submodule pinned to a commit, and your build resolves it reproducibly with no registry.Clone the repository into your project (for example as a git submodule), then reference it from your settings.gradle:Depend on it without a version. Gradle builds the SDK from source and substitutes it for the dependency, resolving its transitive dependencies automatically:
Quick start
1. Read-only operations
For read-only operations (listing wallets, fetching balances, etc.), you only need an auth token:
For a quick test you can get your login token (short-lived) from the DFNS Dashboard under Settings > Personal Access Tokens.
2. Signing requests
State-changing operations (creating wallets, signing transactions, etc.) require cryptographic request signing:
Next steps
Last modified on October 7, 2026