The Java SDK provides typed modules for the public TKeeper API:
- SDK README
- Maven coordinate:
org.exploit:tkeeper-sdk:2.6.0 - Java toolchain: 17 or newer
The SDK module table maps client methods to API operations. OpenAPI Documentation defines their request and response format.
Integration rules
- Use
JwtTokenAuthin production and scope its permissions to the required identities and operations. - Close
TKeeperClientto release its HTTP resources. - Pass
KeySetAuthoritiesexplicitly when creating governed identities; convenience constructors without authorities selectarbitraryraw signing. - Build signing requests with
AuthorityCommandand useVerificationCommand.from(command)for verification. Verification checks the signature againsttypeandartifact; it does not load an authority or reassess policy. - Use
dryRun().emulate(...)to preview an authority-policy decision; see Dry Run Policy Evaluation. - Use
approvers()to register credentials, then pin returned refs in key or authority policies. Registration alone grants no approval authority. - Use
approvals().prepare(...)for WebAuthn approval challenges. The SDK migration notes cover theProofinterface and its implementations. - Use
central().getConfig()for runtime modules and quorum settings, andcontrolPlane().listIdentities(...)for the caller's permitted signing identities. - Catch
TKeeperExceptionand branch onErrorType, not diagnostic detail text. - Do not retry authorization or policy denials as availability failures.
Compose results
signature().compose(Sign.of(keyId, command), ResultType.class) runs the same authority, policy, approval, and signing checks as signature().sign(...). It then assembles a protocol result when the command type has a composer. See Composer for the endpoint and fallback behavior.
| Command type | Result type |
|---|---|
ap2.mandate, mcintent.mandate |
PaymentCredential |
evm.transaction |
SignedEvmTransaction |
tron.transaction |
SignedTronTransaction |
xrp.transaction |
SignedXrpTransaction |
solana.transaction |
SignedSolanaTransaction |
For other types, compose returns ThresholdSignature, the same raw signature result as sign. To inspect an unknown result, use signature().compose(request) for JSON. The signed Solana result can be partial; check complete before broadcast. See agentic payments and digital assets for examples.