Try it Live
Run Signature examples in the interactive playground
Conversions
Methods for converting signatures between different formats.toBytes
Get raw signature bytes (strips metadata).Signature
Parameters
signature- BrandedSignature to convert
Returns
Plain Uint8Array (64 bytes) without metadata.Example
Use Cases
Notes
- Returns reference to same underlying buffer (zero-copy)
- Metadata still accessible on original signature
- Useful when algorithm tracked externally
toCompact
Convert to compact format (r + s).Signature
Parameters
signature- BrandedSignature to convert
Returns
Uint8Array (64 bytes) in compact format:- ECDSA: r (32) + s (32)
- Ed25519: signature (64)
Example
Use Cases
Format Details
ECDSA (secp256k1, p256):- Not included in compact format
- Must be stored/transmitted separately
- Required for secp256k1 address recovery
toDER
Convert ECDSA signature to DER encoding.Signature
Parameters
signature- ECDSA BrandedSignature (secp256k1 or p256)
Returns
DER-encoded SEQUENCE of r and s integers.Throws
InvalidAlgorithmError- If signature is not ECDSA (Ed25519 not supported)
Example
DER Structure
Encoding Rules
Minimal encoding:- Leading zeros removed
- Padding byte (0x00) added if high bit set (to indicate positive)
Length Calculation
DER length varies based on r and s values:Use Cases
Ed25519 Not Supported
Recovery ID Handling
Comparison
Format Characteristics
| Format | Size | Metadata | Use Case |
|---|---|---|---|
| toBytes | 64 bytes | Stripped | Raw storage |
| toCompact | 64 bytes | Stripped | Compact serialization |
| toDER | 70-72 bytes | Stripped | Bitcoin, certificates |
Metadata Preservation
Round-Trip Compatibility
Performance
Serialization Patterns
Full Serialization (with metadata)
Compact Serialization (algorithm known)
Wire Format
See Also
- Constructors - Creating signatures
- Utilities - Helper functions
- BrandedSignature - Type definition
- Usage Patterns - Common patterns

