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| Field | Data Type | Size | Side | Description |
|---|---|---|---|---|
| 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.
| Condition | Result |
|---|---|
| Missing required fields | ERROR |
| Merkle leaf verification fails | UNSATISFIED |
| Adaptor signature verification fails | UNSATISFIED |
| CSV sequence check fails | UNSATISFIED |
| Adaptor sig valid AND timelock elapsed | SATISFIED |
{
"type": "PTLC",
"inverted": false,
"fields": [
{ "type": "PUBKEY", "hex": "02abc1...33 bytes" },
{ "type": "PUBKEY", "hex": "03def2...33 bytes" },
{ "type": "NUMERIC", "value": 144 }
]
}{
"type": "PTLC",
"inverted": false,
"fields": [
{ "type": "PUBKEY", "hex": "02abc1...33 bytes" },
{ "type": "SIGNATURE", "hex": "e4f2a1...64 bytes" },
{ "type": "PREIMAGE", "hex": "b7c8d9...32 bytes" }
]
}