Submit the signed supertransaction quote for execution

Overview

The /v1/mee/execute endpoint submits signed quotes for execution. It takes the quote response from the quote endpoint along with user signatures to execute multichain composable transactions asynchronously via MEE nodes.

How It Works

The execute endpoint:
  1. Accepts signed quotes - Takes the quote data with user signatures
  2. Submits to MEE network - Routes to MEE nodes for orchestration
  3. Handles execution - Manages multichain composable and async execution
  4. Returns transaction hash - Provides the supertransaction hash for tracking

Request Structure

POST /v1/mee/execute

Request Body

ParameterTypeRequiredDescription
ownerAddressstringYesOwner wallet address (from quote response)
feeobjectYesFee details from quote response
quoteTypestringYesType from quote: permit, onchain, or simple
quoteobjectYesComplete quote object from quote response
payloadToSignarrayYesSigned payloads with signatures added

Signed Payload Structure

Each payload in payloadToSign must include the signature based on the quoteType:

For Permit Type

{
  "signablePayload": {...},  // From quote response
  "metadata": {...},          // From quote response
  "signature": "0x1234..."    // User's signature (added)
}

For OnChain Type

{
  "to": "0x1111111254EEB25477B68fb85Ed929f73A960582",
  "data": "0xa9059cbb...",
  "value": "0",
  "chainId": 1,
  "signature": "0x1234..."    // Transaction hash (added)
}

For Simple Type

{
  "message": {
    "raw": "0xed96a92aa94b8b1927fc7c52ca3b3fcd0d706147dfbeda34a62dc232f6993029"
  },
  "signature": "0x1234..."    // User's signature (added)
}

Example Request

curl -X POST https://api.biconomy.io/v1/mee/execute \
  -H "Content-Type: application/json" \
  -H "X-API-Key: mee_2w3mXCuyt4xVXDRCZ5k5Lhgs" \
  -d '{
    "ownerAddress": "0x1234567890abcdef1234567890abcdef12345678",
    "fee": {
      "amount": "10000000000000000",
      "token": "0x0000000000000000000000000000000000000000",
      "chainId": 8453
    },
    "quoteType": "permit",
    "quote": {
      "hash": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdef",
      "node": "0x9876543210abcdef9876543210abcdef98765432",
      "commitment": "0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
      "paymentInfo": {...},
      "userOps": [...],
      "fundingTokens": [...]
    },
    "payloadToSign": [
      {
        "signablePayload": {
          "domain": {...},
          "types": {...},
          "message": {...},
          "primaryType": "Permit"
        },
        "metadata": {
          "nonce": "0",
          "name": "USD Coin",
          "version": "2",
          "domainSeparator": "0x06c37168a7db5138defc7866392bb87a741f9b3d104deb5094588ce041cae335",
          "owner": "0x742d35C9a91B1D5b5D24Dc30e8F0dF8E84b5d1c4",
          "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
          "amount": "1000000000000000000000"
        },
        "signature": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1b"
      }
    ]
  }'

Response

Returns execution status and transaction hash:
{
  "success": true,
  "supertxHash": "0x9a72f87a93c55d8f88e3f8c2a7b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",
  "error": null
}

Response Fields

FieldTypeDescription
successbooleanIndicates if execution was successful
supertxHashstring/nullTransaction hash of the executed supertransaction
errorstring/nullError message if execution failed

Complete Workflow

  1. Build instructions using intent, intent-simple, build, or compose
  2. Get quote from the quote endpoint with instructions
  3. Sign payloads based on quoteType:
    • permit: Sign EIP-712 typed data
    • onchain: Send transaction and get hash
    • simple: Sign raw message hash
  4. Execute by submitting signed quote to this endpoint
  5. Track execution using the returned supertxHash

Authentication

All requests require an API key to be passed in the header:
X-API-Key: your_api_key_here

Error Handling

The endpoint returns appropriate HTTP status codes:

200 Success

{
  "success": true,
  "supertxHash": "0x9a72f87a93c55d8f88e3f8c2a7b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",
  "error": null
}

400 Bad Request

{
  "code": "VALIDATION_ERROR",
  "message": "Invalid request parameters",
  "errors": [
    {
      "code": "INVALID_SIGNATURE",
      "path": ["payloadToSign", "0", "signature"],
      "message": "Invalid signature format"
    }
  ]
}

500 Internal Server Error

{
  "code": "INTERNAL_ERROR",
  "message": "An unexpected error occurred",
  "errors": [
    {
      "code": "SERVER_ERROR",
      "path": [],
      "message": "Internal server error"
    }
  ]
}
Check the success field and error message for execution status.