Skip to main content
Escrow is the contract Fixed-party builds. The file is escrow.ark in arkade-escrow-covenant at 95582b1. Copy the contract without changes. A change to the code changes the address.
contracts/escrow.ark @ 95582b1

Functions

complete takes oracleMsg and oracleSig and needs a single input. The SHA-256 hash of oracleMsg must equal oracleMessageHash, and oracleSig is the oracle’s BIP340 signature over oracleMsg. Output 0 pays partyBScript at least amount. A surplus above 330 sats must go to partyAScript on output 1. A smaller surplus is unconstrained. cancel needs a single input and the emulator clock at or past timeoutAt. Output 0 pays partyAScript at least the whole output. unilateral is the exit if the operator is unavailable. After the output is unrolled onchain and exit passes, both parties sign. The CSV starts when the unrolled output confirms.