is_send=false incoming, is_send=true outgoing.
Signature Verification
Request headers:Request Body
Lifecycle Events
CONFIRMED- Crediting threshold reached; safe to credit the userFINALIZED- Final; safe to release withdrawals. No further changesREVERTED- ACONFIRMEDtransaction was rolled back by a reorg (EVM only); reverse the credit.CONFIRMEDis sent again if re-included
Solana sends
FINALIZED only; it serves as both the crediting and withdrawal basis.
Response and Retry
Return HTTP 200; only 200 counts as delivered (any response body is accepted). Otherwise MPCVault retries with exponential backoff (up to 1-hour intervals) until it receives 200. Suggested idempotency key:unique_id, so deduplicating on unique_id alone would drop later stages.
Recommended Handling Steps
- Read the raw request body and verify the signature with the public key.
- Parse the JSON and check that
statusisSUCCESS. - Deduplicate by
uuid+event_type+block_hash. - Apply by
event_type:CONFIRMED→ credit the user;REVERTED→ reverse the credit;FINALIZED→ allow withdrawal. - Return HTTP 200.