Generate Signature
Last updated
Last updated
POST /keys/{keyId}/signatures
Request to generate a signature with the key. This process does not broadcast anything on-chain, this is just an off-chain signature request.
Dfns is compatible with any blockchain that uses a supported . If Dfns doesn't officially integrate with a blockchain, you can use hash signing to generate the signatures to interact with the chain.
Keys:Signatures:Create
Always Required
keyId
Unique identifier of the key.
All cryptographic scheme support hash signing. Different blockchains will apply different hash functions to compute the hash.
kind
Hash
String
hash
32-byte hash in hex encoded format.
String
taprootMerkleRoot
Required when signing with a Schnorr
key. Specify the merkle root for tweaking the signing key, or the empty string ""
to tweak with the default merkle root.
String
In addition to the Hash
method shown above, EdDSA
keys also support signing arbitrary length Message
payload longer than 32 bytes.
kind
Message
String
message
Hex encoded message.
String
Keys can also be used to sign more specific formats for different blockchains. See the available supported options by expanding this section in the left hand navigation.
id
ID of the signature request.
String
keyId
ID of the signing key.
String
requester.userId
ID of the user made the signature request.
String
requester.tokenId
ID of the token used to make the signature request.
String (optional)
requester.appId
Application ID used to make the signature request.
String (optional)
requestBody
The original request body.
Object
dateRequested
String
status
The current status of the request. See table below for a list of possible statuses.
String
signature
After successful signing, the signature separated into r
, s
, and recid
. When signing a serialized transaction, encoded
contains the complete signature formatted for the target blockchain.
Signature (optional)
signatures
When one request produces multiple signatures, for example signing a PSBT.
Array<Signature> (optional)
signedData
Serialized signed transaction with encoded signature when signing a transaction.
String (optional)
dateSigned
String (optional)
approvalId
ID of the approval when the request triggered a policy.
String (optional)
datePolicyResolved
String (optional)
reason
The failure reason if the request failed to complete.
String (optional)
txHash
The transaction hash if the signature is found on chain.
String (optional)
fee
The transaction fee.
String (optional)
network
The network of the transaction.
String (optional)
dateConfirmed
String (optional)
Pending
Executing
The request is approved and is in the process of being signed. Note this status is only set for a short time between pending and signed
Signed
The signature is complete and available in the response body.
Confirmed
The signature has been confirmed on-chain by our indexing pipeline.
Failed
Indicates an internal system failure to complete the request.
Rejected
The request has been rejected by a policy approval action.
date string when the request was made.
date string when request was signed.
date string when the triggered policy was either approved or denied.
date string when the transaction was confirmed on chain.
The request is pending approval due to a to the wallet.