Notus API
User operations

Execute User Operation

This endpoint queues to execution a user operation on the blockchain, like a swap quote or a transfer. The execution occurs asynchronously as it waits to be included in a block. You can check the status by using the returned hash in the history endpoint or with our webhooks.

POST
/api/v1/crypto/execute-user-op
x-api-key<token>

In: header

userOperationHash?string

Unique identifier for the swap quote, required to execute the transaction.

Match^0x[a-fA-F0-9]{64}$
quoteId?stringDeprecated

DEPRECATED: Use userOperationHash instead. Will be ignored if userOperationHash is used.

Match^0x[a-fA-F0-9]{64}$
signaturestring

The signature of the transaction, required to execute the transaction.

Match^0x([a-fA-F0-9]{2})*$
authorization?string

The signature of the authorization, required to execute the first transaction of an EIP-7702 wallet. If the authorization field was null in the operation you requested, then you don't have to send this.

ATTENTION: viem's signAuthorization() returns the signature as {r, s, yParity} values. Use plain sign() with the returned hash field instead that already returns the signature in the expected format. Or call serializeSignature() after signAuthorization() to serialize it for this endpoint.

Match^0x([a-fA-F0-9]{2})*$

Response Body

curl -X POST "https://api.notus.team/api/v1/crypto/execute-user-op" \  -H "Content-Type: application/json" \  -d '{    "signature": "0xeecdd469465113db97d2d57949c581a080a4e7d7c528187ffc80e4f55ca68e083dcda2338666db182417608b971f5237c5807d67c7515e52f9ffe045e775ec791b"  }'
{
  "userOperationHash": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1",
  "userOpHash": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1",
  "estimatedExecutionTime": "2026-04-12T14:49:12.762Z"
}
{
  "statusCode": 400,
  "id": "EXECUTE_USER_OP",
  "message": "Your User Operation has expired. Please, request a new one."
}
{
  "statusCode": 403,
  "id": "UNAVAILABLE_COMPUTE_UNITS",
  "message": "The project doesn't have enough compute units to perform this action. Please upgrade your plan."
}
{
  "statusCode": 404,
  "id": "USER_OPERATION_NOT_FOUND",
  "message": "Could not find the User Operation requested"
}
{
  "statusCode": 500,
  "id": "EXECUTE_USER_OP",
  "message": "Failed to execute user operation. Please try again later"
}