Skip to content

Create a deposit

POST /v1/deposits

Submit the signed EIP-7702 authorization and execute-digest signature for a quote, relaying the settlement on-chain with sponsored gas. This endpoint executes any signed settlement plan, so signed withdrawal plans (created by the withdrawals endpoint) are submitted here too. An order is created in the relaying state and tracked in the background to confirmed or failed; poll the order endpoint for progress. Expired or unknown quotes are rejected.

Authentication

Send your API key in the api-key header.

Request body (application/json)

{
  "quoteId": "6884f0c2a9b1d43e2c7a9f10",
  "authorization": {
    "chainId": 84532,
    "address": "0x5fbdb2315678afecb367f032d93f642f64180aa3",
    "nonce": 7,
    "yParity": "0x1",
    "r": "0x8c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d",
    "s": "0x2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f"
  },
  "executeSignature": "0x4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c1b"
}

Responses

Status Description
200 The order created for the relayed settlement.
400 Invalid request. Possible codes: VALIDATION_001 (malformed executeSignature hex, or the stored plan could not be re-encoded with the supplied signature).
404 The quote does not exist or has expired (RESOURCE_001). Request a fresh quote and sign again.
500 Server-side failure. Possible codes: TRANSACTION_004 (the relay submission failed), SYSTEM_001 (storage failure), SYSTEM_002 (stored plan could not be decoded).
200 response
{
  "success": true,
  "data": {
    "orderId": "6884f13ea9b1d43e2c7a9f2b",
    "status": "relaying",
    "kind": "deposit",
    "chain": 84532,
    "asset": "0x81ab7e0d570b01411fcefcbbcd7de70890a5dd15",
    "amount": "25000000",
    "venueId": "mockvault-84532",
    "photonTxId": "6884f13f539a3c9d28bbca33"
  },
  "timestamp": "2026-07-29T10:15:35.481Z"
}
400 response
{
  "success": false,
  "error": {
    "code": "VALIDATION_001",
    "message": "bad executeSignature hex",
    "category": "VALIDATION",
    "traceId": "a1b2c3d4e5f60718"
  },
  "timestamp": "2026-07-29T10:15:32.123Z"
}
404 response
{
  "success": false,
  "error": {
    "code": "RESOURCE_001",
    "message": "quote expired",
    "category": "RESOURCE",
    "traceId": "a1b2c3d4e5f60718"
  },
  "timestamp": "2026-07-29T10:15:32.123Z"
}
500 response
{
  "success": false,
  "error": {
    "code": "TRANSACTION_004",
    "message": "relay failed: transaction rejected",
    "category": "TRANSACTION",
    "traceId": "a1b2c3d4e5f60718"
  },
  "timestamp": "2026-07-29T10:15:32.123Z"
}