Key
is a core API resource in Dfns. It represents a distributed private key managed by our MPC network. You don’t interact with the key material directly; instead, you use its unique keyId
to perform cryptographic operations.
The Key
object has two primary functions for a developer:
- To create
Wallet
objects. - To sign arbitrary data (
raw signing
).
1. Creating Multi-chain Wallets from a Key
A singleKey
object is blockchain-agnostic and can be used to derive multiple Wallet
objects across different networks. This creates a one-to-many relationship that simplifies your infrastructure, as you only need to reference one keyId
to manage assets on various chains.
Think of it like this:
Key
(withkeyId
)-> Wallet
(Ethereum, withaddress
andwalletId
)-> Wallet
(Solana, withaddress
andwalletId
)-> Wallet
(Bitcoin, withaddress
andwalletId
)
signingKey
in the request body to specify which underlying key should control the new wallet.
2. Performing Raw Signing
The most powerful feature of theKey
object is the ability to perform raw signing. This is essential for any action beyond a simple asset transfer, such as interacting with a smart contract or signing an off-chain message.
You do this by making a POST
request to the /keys/{keyId}/signatures
endpoint.
Your application is then responsible for broadcasting the transaction with the returned signature to the network. This gives you full control over transaction assembly, gas, and nonce management, while Dfns handles the secure signing operation.
What about broadcasting? The
Key
object only signs. Broadcasting is a function of the Wallet
object, as it is network-specific. See the Sign & Broadcast endpoint for broadcasting after the signature has been issued.Security: The Developer Takeaway
From a developer’s perspective, the security model is simple: theKey
object is a inaccessible secret. You can use it to generate signatures, but you can never read the underlying private key material. Our MPC architecture enforces this guarantee.
For a deeper technical dive, see our MPC Architecture page.