Submit a sponsored UserOperation
Submits a signed UserOperation for sponsorship and bundler delivery. Sumvin fills in the paymaster fields, signs as paymaster, and forwards the operation to the bundler. The response returns the UserOperation hash so the client can poll for terminal status. Send an Idempotency-Key header to make retries safe — agent-originated requests should always set one.
Authorizations
Personal access token issued to the Sumvin CLI. Send it in the x-sumvin-pat header to authenticate as the owning user.
Headers
Optional idempotency key. Retrying the same request with the same key returns the original cached response and sets X-Idempotent-Replay: true. Reusing a key with a different body returns 409 Conflict.
255Tenant org ID for multi-tenant auth
Controls how timestamp fields are serialized in JSON response bodies.
Default (header omitted or any other value): epoch milliseconds as integers.
iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.
Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".
Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.
Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.
"iso8601"
Body
EVM chain ID the UserOperation should run on.
Signed ERC-4337 UserOperation, including sender, nonce, callData, gas fields, and signature. Sumvin populates the paymaster fields before forwarding the operation to the bundler.
Address of the ERC-4337 EntryPoint contract. Only the canonical v0.7 EntryPoint is supported; it is deployed at this same address on every supported chain.
Response
UserOperation accepted by Sumvin and submitted to the bundler.
HAL navigation links — self and a status poll link.
Hash of the submitted UserOperation. Use this to poll for status at GET /v0/safe/rpc/{user_op_hash}/status.
Lifecycle status at the time of acceptance. Always submitted when the bundler has accepted the UserOperation.