Skip to content

Create an Ethereum transaction request

POST/requests/transaction/ethereum

Request body schema

{
// Target account id
accountId: string;
transaction:
|
Ethereum-like deploy contract data
|
Ethereum-like execute contract data
|
Ethereum-like send data
Optional
// Optional request note
note?: {
// Note title
title: string;
// Note content
content: string;
}
;
}

Response schema

{
type: string;
data: {
accountId: string;
transaction:
|
Ethereum-like deploy contract data
|
Ethereum-like execute contract data
|
Ethereum-like send data
}
;
// Request unique identifier
id: string;
// Legacy internal unique identifier (for retro-compatibility)
legacyId: number;
// Request state
state:
| "INITIAL"
| "PENDING_APPROVAL"
| "EXECUTING"
| "EXECUTED"
| "FAILED"
| "ABORTED"
| "BLOCKED"
| "EXPIRED"
| "STUCK"
;
// Request review steps
reviewSteps: Array<{
// The review stage name
stageName: string;
// Quorum for the review step
quorum: number;
}
>
;
// Index of the current approval step
currentStepIndex: number;
// Request expiration date
expiresAt: string;
Optional
// Deprecated: use expiresAt
expiredAt?: string;
// Optional ID of the target object
targetId: string | null;
// Optional request note
note: {
// Note title
title: string;
// Note content
content: string;
}
| null;
// Requests reviews
reviews: Array<{
// Index of the governance step in the request workflow
stepIndex: number;
// Reviewer id
userId: string;
// Review status
status:
| "PENDING"
| "QUEUED"
| "APPROVED"
| "REJECTED"
| "OBSOLETE"
;
// Created date
createdAt: string;
// Updated date
updatedAt: string;
}
>
;
// Creation timestamp
createdAt: string;
// Last modification timestamp
updatedAt: string;
// ID of the user who created the request
createdById: string;
Optional
// Extra information if the request is currently being processed
inflight?: {
// Error message from the last failure
lastError: string | null;
// Number of failures so far
numFailed: number;
// Date after which next retry is scheduled
retryAfter: string;
}
;
}

Examples

bash
curl \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {jwt}" \
  --data '{json-data}' \
  "$API_BASE_URL/requests/transaction/ethereum"
ts
const url = "<base-url>/requests/transaction/ethereum";

const headers = {
  "Content-Type": "application/json",
  Authorization: "Bearer <jwt>"
};

const payload = {}; // <- fill with the expected payload

fetch(url, { headers, method: "POST", body: JSON.stringify(payload) }).then(res => {
  console.log(res)
});
python
import requests

url = "<base-url>/requests/transaction/ethereum"

headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer <jwt>"
}

data = {} # <- fill with the expected payload

print(requests.post(url, headers=headers, data=data))