Skip to main content
Use Sign when you need a key to produce a cryptographic signature for a payload (off-chain or chain-specific) — for example creating a transaction signature or signing arbitrary data. Signing creates a cryptographic proof that the holder of a key approved the exact payload. Dfns supports several signing kinds: generic Hash signing (32-byte hashes), EdDSA Message signing (arbitrary length), and chain-specific formats such as Substrate SignerPayload or Cosmos SignDocDirect. Use the chain format when you plan to submit the signed data on-chain; use Hash/Message for generic or unsupported chains. What endpoint should I use for my transactions?
  • Transfer: call the Transfer Asset endpoint for native tokens, ERC-20/721, SPL, Cardano assets, etc. It creates a wallet transfer request, requires user action signing, supports fee sponsorship, idempotency via externalId, policy approvals, status tracking, and indexing (txHash, dateConfirmed). See Transfer.
  • Broadcast (Sign & Broadcast): use the Broadcast Transaction endpoint when you’ve built a raw/serialized transaction (or need to call arbitrary smart contract functions, mint, deploy contracts). This endpoint signs the transaction with the wallet key and broadcasts it; it also returns request status and txHash.
  • Sign (Generate Signature): use Generate Signature only when you need an off-chain signature (no broadcast). Note this wallet endpoint is deprecated in favor of the Keys API; it does not submit anything to the chain. See Sign.

Signature request object

id
string
required

Signature id.

Required string length: 1 - 64
Pattern: ^sig-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
Example:

"sig-4sfvl-f4iha-umighfi3hk4t54dr"

keyId
string
required

Key id.

Required string length: 1 - 64
Pattern: ^key-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
Example:

"key-01snl-t56gb-j8tsok0vn802p80i"

requester
object
required

The user who initiated the request.

requestBody
Hash · object
required

All cryptographic scheme support hash signing. Different blockchains will apply different hash functions to compute the hash.

status
enum<string>
required
Available options:
Pending,
Executing,
Signed,
Confirmed,
Failed,
Rejected
dateRequested
string<date-time>
required

ISO 8601 date (must be UTC). When the signature was requested.

Example:

"2023-04-14T20:41:28.715Z"

reason
string
signature
object
signatures
object[]
signedData
string
network
enum<string>
Available options:
Algorand,
AlgorandTestnet,
Aptos,
AptosTestnet,
ArbitrumOne,
ArbitrumSepolia,
ArcTestnet,
AvalancheC,
AvalancheCFuji,
BabylonGenesis,
BabylonTestnet5,
Base,
BaseSepolia,
Berachain,
BerachainBepolia,
Bitcoin,
BitcoinSignet,
BitcoinTestnet3,
BitcoinCash,
Bob,
BobSepolia,
Bsc,
BscTestnet,
Canton,
CantonTestnet,
Cardano,
CardanoPreprod,
Concordium,
ConcordiumTestnet,
Celo,
CeloAlfajores,
Codex,
CodexSepolia,
CosmosHub4,
CosmosIcsTestnet,
Dogecoin,
DogecoinTestnet,
Ethereum,
EthereumClassic,
EthereumClassicMordor,
EthereumSepolia,
EthereumHolesky,
EthereumHoodi,
FantomOpera,
FantomTestnet,
FlareC,
FlareCCoston2,
FlowEvm,
FlowEvmTestnet,
Hedera,
HederaTestnet,
Ink,
InkSepolia,
InternetComputer,
Ion,
IonTestnet,
Iota,
IotaTestnet,
Kaspa,
Kusama,
KusamaAssetHub,
Litecoin,
LitecoinTestnet,
Near,
NearTestnet,
Optimism,
OptimismSepolia,
Origyn,
Plasma,
PlasmaTestnet,
Plume,
PlumeSepolia,
Paseo,
PaseoAssetHub,
Polkadot,
PolkadotAssetHub,
Polygon,
PolygonAmoy,
Polymesh,
PolymeshTestnet,
Race,
RaceSepolia,
SeiAtlantic2,
SeiPacific1,
Solana,
SolanaDevnet,
Starknet,
StarknetSepolia,
Stellar,
StellarTestnet,
Sui,
SuiTestnet,
Tezos,
TezosGhostnet,
Tempo,
TempoModerato,
Tsc,
TscTestnet1,
Ton,
TonTestnet,
Tron,
TronNile,
Westend,
WestendAssetHub,
XrpLedger,
XrpLedgerTestnet
txHash
string
fee
string
approvalId
string
Required string length: 1 - 64
Pattern: ^ap-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
Example:

"ap-2a9in-tt2a1-983lho480p35ejd0"

datePolicyResolved
string<date-time>

ISO 8601 date (must be UTC). When the signature was approved by policy reviewers.

Example:

"2023-04-14T20:41:28.715Z"

dateSigned
string<date-time>

ISO 8601 date (must be UTC). When the signature was signed.

Example:

"2023-04-14T20:41:28.715Z"

dateConfirmed
string<date-time>

ISO 8601 date (must be UTC). When the signature was confirmed on chain.

Example:

"2023-04-14T20:41:28.715Z"

externalId
string
Last modified on March 9, 2026