SignatureEnvelope Types
SignatureEnvelope.GetType
Statically determines the signature type of an envelope at compile time.
Examples
import type { SignatureEnvelope } from 'ox/tempo'
type Type = SignatureEnvelope.GetType<{ r: bigint; s: bigint; yParity: number }>
'secp256k1'Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.Keychain
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.KeychainRpc
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.P256
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.P256Rpc
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.Secp256k1
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.Secp256k1Flat
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.Secp256k1Rpc
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.Serialized
Hex-encoded serialized signature envelope.
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.SignatureEnvelope
Represents a signature envelope that can contain different signature types.
Tempo transactions support multiple signature types, each with different wire formats:
-
secp256k1 (no type prefix, 65 bytes): Standard Ethereum ECDSA signature. The sender address is recovered via
ecrecover. Base transaction cost: 21,000 gas. -
p256 (type
0x01, 130 bytes): P256/secp256r1 curve signature for passkey accounts. Includes embedded public key (64 bytes) and prehash flag. Enables native WebCrypto key support. Additional gas cost: +5,000 gas over secp256k1. -
webAuthn (type
0x02, 129-2049 bytes): WebAuthn signature with authenticator data and clientDataJSON. Enables browser passkey authentication. The signature is also charged as calldata (16 gas/non-zero byte, 4 gas/zero byte). -
keychain (type
0x03): Access key signature that wraps an inner signature (secp256k1, p256, or webAuthn). Format:0x03+ user_address (20 bytes) + inner signature. The protocol validates the access key authorization via the AccountKeychain precompile.
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.SignatureEnvelopeRpc
RPC-formatted signature envelope.
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.Type
Union type of supported signature types.
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.WebAuthn
Source: src/tempo/SignatureEnvelope.ts
SignatureEnvelope.WebAuthnRpc
Source: src/tempo/SignatureEnvelope.ts

