Account Abstraction
API Reference
User Operation
Estimate User Operation
Sign Transaction

Estimate Sign Transaction Cost

Overview

This API endpoint allows you to estimate the cost of signing a transaction from an account.

  • HTTP Method: POST
  • Endpoint: {{BASE_URL}}/api/v1/userOp/signTransaction/estimate

Request Body Parameters

  • accountId (required): The unique identifier of the account.
  • to (required): The recipient's wallet address.
  • value (required): The value to be sent in the transaction (in smallest unit).
  • callData (required): The data to be sent with the transaction, in hexadecimal format.

Example Request Body

{
  "accountId": "67959f7927373a6808679de2",
  "to": "0x....",
  "value": "0",
  "callData": "0x....."
}

Request

Request Headers

  • X-CLIENT-ID: (required): Client ID which was generated when registering in Xellar Account Abstraction API Service Dashboard.
  • X-SIGNATURE: (required): Calculated signature, please refer to Authorization section.
  • X-TIMESTAMP: (required): Request timestamp in RFC3339 format.

Example Request Syntax

curl -X POST -H "Content-Type: application/json" \
-H "x-client-id: $YOUR_CLIENT_ID" \
-H "x-signature: $CALCULATED_SIGNATURE" \
-H "x-timestamp: $TIMESTAMP" \
-d '{
    "accountId": "67959f7927373a6808679de2",
    "to": "0x....",
    "value": "0",
    "callData": "0x....."
}' {{BASE_URL}}/api/v1/userOp/signTransaction/estimate

Response

The response will include a JSON object with the following properties:

  • status (number): The HTTP status code of the response (e.g., 200 for success).
  • message (string): A message providing additional information about the operation.
  • data (object): An object containing the cost estimation details.
  • data.requiredETH (string): The estimated amount of ETH required.
  • data.requiredGasTankBalance (string): The estimated gas tank balance required.
  • data.decimal (number): The number of decimals used in the estimation.

Example Response

{
  "status": 200,
  "message": "success",
  "data": {
    "requiredETH": "8621402752060272",
    "requiredGasTankBalance": "31499329522982450044",
    "decimal": 18
  }
}