You need to break down your design into components and think about the process.
Escrow works as follows:
- Subject A deposits the transaction account for person B.
- Entity A and Entity B Conclude an Agreement
- Escrow account deposited in Entity B.
The implementation is wise, I would track deposit deposits, like any transaction, I would also track deposit payments in the same way.
" " . "AcceptedByA" "AcceptedByB", .
:
- Entity A $X
- Entity B , ( AcceptedByB true)
- Entity A "AcceptedByA" true.
- EntityB .
, .