Skip to main content
Send a signed transaction with FHE data references.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sendTransaction",
  "params": {
    "transaction": "<base64-encoded-transaction>",
    "options": {
      "fheDataHashes": ["hash1", "hash2"]
    }
  }
}

Parameters

ParameterTypeDescription
transactionstringBase64-encoded signed transaction
options.fheDataHashesstring[]Hashes of FHE data used
options.skipPreflightbooleanSkip preflight (optional)
options.preflightCommitmentstringCommitment level (optional)

Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "signature": "5abc..."
  }
}

Result

FieldTypeDescription
signaturestringTransaction signature

FHE Data Handling

When fheDataHashes is provided:
  1. Sequencer verifies all hashes exist in the data store
  2. Data is made available to the program during execution
  3. New data submitted by the program is stored

Errors

CodeMessage
-32000FHE data not found
-32001Transaction failed
-32002Invalid signature

Example

const response = await fetch('http://localhost:8899', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'sendTransaction',
    params: {
      transaction: base64Transaction,
      options: {
        fheDataHashes: [priceHash, quantityHash]
      }
    }
  })
});

const { result } = await response.json();
console.log('Signature:', result.signature);