Transactions
POST /transactions
Submit a transaction for verification.
Authentication: API Key or JWT. Scopes: transactions:create:own
Request Body
{
"escrowAddress": "0x742d35Cc6634C0532925a3b8D9c9e3E16b8d6e9",
"userPrompt": "Send 0.1 ETH to Alice",
"tx": {
"to": "0x742d35Cc6634C0532925a3b8D9c9e3E16b8d6e9",
"value": "100000000000000000",
"data": "0x"
},
"chainId": 11155111
}
| Field | Type | Required | Description |
|---|---|---|---|
escrowAddress | string | Yes | Ethereum address of the user/escrow account |
userPrompt | string | Yes | Natural language intent that initiated the transaction |
tx | object | Yes | Transaction call data |
tx.to | string | Yes | Destination contract/address |
tx.value | string | Yes | Wei value as a decimal string |
tx.data | string | Yes | Hex-encoded calldata ("0x" for plain transfers) |
contextLogs | object | No | Arbitrary context for debugging/auditing |
chainId | number | No | Target chain ID (defaults to 11155111 Sepolia) |
Response (201 Created)
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"requestHash": "0x1234...",
"description": "Send 0.1 ETH to Alice",
"status": "PENDING",
"execution": 0,
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
}
Status Codes: 201 Created, 400 Invalid request, 401 Auth failed, 403 Not authorized for escrow address, 404 User not found, 429 Rate limit
GET /transactions/users/:ethereumAddress
Get all transactions for a user with approval information.
Authentication: API Key or JWT
Status Codes: 200 Success, 404 User not found, 403 Can only access own transactions
Approvals
POST /transactions/:requestHash/approvals
Approve or reject a transaction.
Authentication: API Key or JWT
Request Body:
{
"decision": "APPROVED"
}
| Field | Type | Required | Description |
|---|---|---|---|
decision | string | Yes | "APPROVED" or "REJECTED" |
Status Codes: 201 Created, 400 Invalid request, 401 Auth failed, 403 Can’t approve others’ transactions, 404 Not found
GET /transactions/:requestHash/approval-status
Get approval status for a transaction.
Authentication: API Key or JWT
Response:
{
"user": [
{
"id": "approval-id",
"transactionId": "transaction-id",
"decision": "APPROVED",
"type": "user_ui",
"approver": {
"id": "user-id",
"ethereumAddress": "0x..."
},
"createdAt": "2024-01-01T00:00:00.000Z"
}
],
"orion": [
{
"id": "orion-approval-id",
"transactionId": "transaction-id",
"decision": "APPROVED",
"type": "orion",
"confidence": 0.95,
"createdAt": "2024-01-01T00:00:00.000Z"
}
]
}
Status Codes: 200 Success, 404 Not found