Java SDK

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 JwtTokenAuth in production and scope its permissions to the required identities and operations.
  • Close TKeeperClient to release its HTTP resources.
  • Pass KeySetAuthorities explicitly when creating governed identities; convenience constructors without authorities select arbitrary raw signing.
  • Build signing requests with AuthorityCommand and use VerificationCommand.from(command) for verification. Verification checks the signature against type and artifact; 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 the Proof interface and its implementations.
  • Use central().getConfig() for runtime modules and quorum settings, and controlPlane().listIdentities(...) for the caller's permitted signing identities.
  • Catch TKeeperException and branch on ErrorType, 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.