## Purchase flow
Support US:
- [Bitmark Pay - Determine payment confirmations by epochs#1168](https://github.com/bitmark-inc/feral-file/issues/1168)
- [Bitmark Pay - Support Infura WS for new head event#1167](https://github.com/bitmark-inc/feral-file/issues/1167)
```mermaid
sequenceDiagram
Client-->>Wallet app: Submit TX
Wallet app-->>Client: Confirmed by user
Note left of Client: Waiting for updates from server
Note right of Wallet app: TX appear in block
Note left of Bitmark pay: TX detecting
Bitmark pay-->>FF server: Unconfirm status
Note right of FF server: Has payment
FF server-->>FF server: Payment status temporarily succeeds
FF server-->>Client: Websocket message
Note left of Client: Finish payment confirmation
Client-->>User's Collection: Pending state
Bitmark pay-->>+FF server: Confirm status
FF server-->>FF server: Payment verification
opt If Payment succeeds
FF server-->>FF server: Process sale
FF server-->>FF server: Transfer edition
FF server-->>-Bitmark pay: Finalized
Note right of User's Collection: Finish pending -> OK
end
opt If Payment Failed
FF server-->>Bitmark pay: Refund
Note left of User's Collection: Pending edition disappred
end
```