Block Reference
PTLC
Compound Family
TYPE 0x0704 · COMPOUND FAMILY

PTLC

Point Time Locked Contract. Combines an adaptor signature verification with a relative timelock (CSV) in a single block. Collapses the ADAPTOR_SIG + CSV two-block pattern for payment channel constructions.

Compound Non-Invertible
PTLC ADAPTOR PT + SIG VERIFY + CSV CHECK Adaptor sig + timelock: all three must pass
FieldData TypeSizeSideDescription
timelock NUMERIC 1-4 B Conditions Relative timelock in blocks (BIP 68 sequence value)
pubkey PUBKEY 32-33 B Witness Public key (verified via Merkle leaf)
signature SIGNATURE 64-65 B Witness Adapted Schnorr signature
preimage PREIMAGE 32 B Witness Adaptor secret (scalar preimage of the adaptor point)

Both public keys folded into Merkle leaf via merkle_pub_key (PubkeyCountForBlock = 2). No key fields in conditions.

1. Verify witness PUBKEY against Merkle leaf (merkle_pub_key). If mismatch → UNSATISFIED
2. Verify adaptor SIGNATURE against PUBKEY and adaptor point. If invalid → UNSATISFIED
3. Verify CheckSequence(timelock). If fails → UNSATISFIED
4. All checks passed → SATISFIED
ConditionResult
Missing required fieldsERROR
Merkle leaf verification failsUNSATISFIED
Adaptor signature verification failsUNSATISFIED
CSV sequence check failsUNSATISFIED
Adaptor sig valid AND timelock elapsedSATISFIED
Conditions (scriptPubKey)
{
  "type": "PTLC",
  "inverted": false,
  "fields": [
    { "type": "PUBKEY", "hex": "02abc1...33 bytes" },
    { "type": "PUBKEY", "hex": "03def2...33 bytes" },
    { "type": "NUMERIC", "value": 144 }
  ]
}
Witness (input)
{
  "type": "PTLC",
  "inverted": false,
  "fields": [
    { "type": "PUBKEY", "hex": "02abc1...33 bytes" },
    { "type": "SIGNATURE", "hex": "e4f2a1...64 bytes" },
    { "type": "PREIMAGE", "hex": "b7c8d9...32 bytes" }
  ]
}
Scriptless Payment Channels
PTLC replaces HTLCs in payment channels, using adaptor signatures instead of hash locks. The spending transaction reveals the adaptor secret, enabling the counterparty to claim on the other side without on-chain hash preimage exposure.
Privacy-Preserving Routing
Unlike HTLC-based routing where the same hash appears across all hops, PTLC routing uses different adaptor points per hop. This prevents correlation attacks across the payment path.
← HASH_SIG CLTV_SIG →