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

ParameterTypeDescription
fromAddressstringEVM address of the sender
feeobjectFee details from quote response
quoteTypestringType from quote: permit, onchain, or simple
quoteobjectComplete quote object from quote response
payloadToSignarraySigned payloads with signatures added

Signed Payload Structure

Each payload in payloadToSign must include the signature:
{
  "signablePayload": {...},  // From quote response
  "metadata": {...},          // From quote response
  "signature": "0x1234..."    // User's signature (added)
}

Example Request

curl -X POST https://api.biconomy.io/v1/mee/execute \
  -H "Content-Type: application/json" \
  -d '{
    "fromAddress": "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: Sign transaction data
    • simple: Sign raw message hash
  4. Execute by submitting signed quote to this endpoint
  5. Track execution using the returned supertxHash

Error Handling

The endpoint returns appropriate HTTP status codes:
  • 200: Successful execution submission
  • 400: Invalid request parameters or signatures
  • 500: Server error during execution
Check the success field and error message for execution status.