Skip to main content
POST
/
api
/
validate
/
raw
Validate a raw EVM transaction (deprecated)
curl --request POST \
  --url https://app.mandate.md/api/validate/raw \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "chainId": 84532,
  "nonce": 42,
  "to": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
  "calldata": "0xa9059cbb00000000000000000000000071c7656ec7ab88b098defb751b7401b5f6d8976f0000000000000000000000000000000000000000000000000000000000989680",
  "valueWei": "0",
  "gasLimit": "90000",
  "maxFeePerGas": "1000000000",
  "maxPriorityFeePerGas": "1000000000",
  "txType": 2,
  "accessList": [],
  "intentHash": "0xabc123def456789012345678901234567890123456789012345678901234abcd",
  "reason": "Invoice #127 from Alice for March design work"
}
'
{
  "allowed": true,
  "intentId": "9e5f1a2b-3c4d-5e6f-7a8b-9c0d1e2f3a4b",
  "chain": "84532",
  "requiresApproval": false,
  "approvalId": null,
  "approvalReason": null,
  "blockReason": null,
  "riskLevel": "SAFE",
  "riskDegraded": false
}

Authorizations

Authorization
string
header
required

Runtime key issued at agent registration. Prefixed with mndt_live_ (mainnet) or mndt_test_ (testnet). Pass as Authorization: Bearer mndt_test_....

Body

application/json
chainId
integer
required

EVM chain ID.

nonce
integer
required

Transaction nonce.

Required range: x >= 0
to
string
required

Target contract or recipient address.

Pattern: ^0x[a-fA-F0-9]{40}$
gasLimit
string
required

Gas limit for the transaction.

maxFeePerGas
string
required

EIP-1559 max fee per gas (wei).

maxPriorityFeePerGas
string
required

EIP-1559 max priority fee per gas (wei).

intentHash
string
required

keccak256 of the canonical transaction string. Must match server recomputation.

Pattern: ^0x[a-fA-F0-9]{64}$
reason
string
required

Why the agent is making this transaction.

Maximum string length: 1000
calldata
string

Hex-encoded calldata (0x-prefixed). Default: empty.

valueWei
string

Native token value in wei. Default: "0".

txType
integer

Transaction type (2 for EIP-1559). Default: 2.

accessList
array

EIP-2930 access list. Default: [].

Response

Transaction validated.

allowed
boolean
required
intentId
string<uuid> | null
required
chain
string
required
requiresApproval
boolean
required
blockReason
string | null
required
approvalId
string<uuid> | null
approvalReason
string | null
riskLevel
enum<string> | null
Available options:
SAFE,
LOW,
MEDIUM,
HIGH,
CRITICAL,
null
riskDegraded
boolean

True if risk service was unavailable and a degraded (safe) result was returned.