Simulate policy evaluation for a transaction without executing it. This endpoint validates the transaction, evaluates all applicable policies, and returns detailed step-by-step results.
The request body mirrors the submit transaction endpoint:
| Field | Type | Required | Description |
|---|---|---|---|
type | string | No | Transaction type (TRANSFER, CONTRACT_WRITE, CONTRACT_READ, CONTRACT_DEPLOY, MINT, BURN, RAW_SIGNING). Defaults to TRANSFER. |
accountIdentifier | string | No | Account identifier method (address or bsb_account_number). Defaults to address. |
sender | object | No | Sender vault information (vaultId) |
recipient | object | No | Recipient information (vaultId or address) |
amount | string | No | Transaction amount in human-readable format |
asset | object | No | Asset details (type, decimals) |
chainId | number | Yes | Blockchain network chain ID |
data | string | No | Hex-encoded transaction data (starts with 0x) |
functionSignature | string | No | Human-readable function signature for contract calls |
gasLimit | string | No | Maximum gas units allocated |
gasPrice | string | No | Gas price in Gwei (legacy transactions) |
maxFeePerGas | string | No | Maximum total fee per gas in Gwei (EIP-1559) |
maxPriorityFeePerGas | string | No | Priority fee per gas in Gwei (EIP-1559) |
performChainalysisScreening | boolean | No | Enable Chainalysis sanctions/risk screening |
performNotabeneScreening | boolean | No | Enable Notabene Travel Rule screening |
nonce | string | No | Transaction sequence number for the sender address |
includeDraftPolicies | boolean | No | Include draft policies in evaluation |
includePendingApproval | boolean | No | Include pending approval policies |
Note: This endpoint does NOT create approval requests or execute transactions.
| Field | Type | Description |
|---|---|---|
success | boolean | Whether simulation completed successfully |
simulation | object | Simulation results (see Simulation Object below) |
| Field | Type | Description |
|---|---|---|
decision | enum | Final decision (ALLOW, BLOCK, REQUIRE_APPROVAL) |
message | string | Human-readable decision message |
policyId | UUID | ID of policy that triggered decision (nullable) |
policyName | string | Name of policy that triggered decision (nullable) |
requiredApprovers | number | Number of approvers required (if REQUIRE_APPROVAL) |
approverListId | string | Approver list ID for approvals (if REQUIRE_APPROVAL) |
approvers | array | List of required approvers (if REQUIRE_APPROVAL) |
evaluationSteps | array | Step-by-step policy evaluation details |
totalEvaluationTimeMs | number | Total evaluation time in milliseconds |
policiesEvaluated | number | Number of policies evaluated |
totalPolicies | number | Total policies available |
| Field | Type | Description |
|---|---|---|
policyId | UUID | Policy identifier |
policyName | string | Policy name |
priority | number | Policy priority (lower = higher priority) |
status | string | Evaluation status (MATCHED, NOT_MATCHED, SKIPPED) |
conditions | array | Condition evaluation results |
action | object | Policy action with type (ALLOW, BLOCK, REQUIRE_APPROVAL) |
enforcementMode | string | Enforcement mode (ENFORCE, DRAFT) |
evaluationTimeMs | number | Time taken to evaluate this policy in milliseconds |
transactions:read
Simulate policy evaluation for a transaction without executing it. This endpoint validates the transaction, evaluates all applicable policies, and returns detailed step-by-step results.
The request body mirrors the submit transaction endpoint:
| Field | Type | Required | Description |
|---|---|---|---|
type | string | No | Transaction type (TRANSFER, CONTRACT_WRITE, CONTRACT_READ, CONTRACT_DEPLOY, MINT, BURN, RAW_SIGNING). Defaults to TRANSFER. |
accountIdentifier | string | No | Account identifier method (address or bsb_account_number). Defaults to address. |
sender | object | No | Sender vault information (vaultId) |
recipient | object | No | Recipient information (vaultId or address) |
amount | string | No | Transaction amount in human-readable format |
asset | object | No | Asset details (type, decimals) |
chainId | number | Yes | Blockchain network chain ID |
data | string | No | Hex-encoded transaction data (starts with 0x) |
functionSignature | string | No | Human-readable function signature for contract calls |
gasLimit | string | No | Maximum gas units allocated |
gasPrice | string | No | Gas price in Gwei (legacy transactions) |
maxFeePerGas | string | No | Maximum total fee per gas in Gwei (EIP-1559) |
maxPriorityFeePerGas | string | No | Priority fee per gas in Gwei (EIP-1559) |
performChainalysisScreening | boolean | No | Enable Chainalysis sanctions/risk screening |
performNotabeneScreening | boolean | No | Enable Notabene Travel Rule screening |
nonce | string | No | Transaction sequence number for the sender address |
includeDraftPolicies | boolean | No | Include draft policies in evaluation |
includePendingApproval | boolean | No | Include pending approval policies |
Note: This endpoint does NOT create approval requests or execute transactions.
| Field | Type | Description |
|---|---|---|
success | boolean | Whether simulation completed successfully |
simulation | object | Simulation results (see Simulation Object below) |
| Field | Type | Description |
|---|---|---|
decision | enum | Final decision (ALLOW, BLOCK, REQUIRE_APPROVAL) |
message | string | Human-readable decision message |
policyId | UUID | ID of policy that triggered decision (nullable) |
policyName | string | Name of policy that triggered decision (nullable) |
requiredApprovers | number | Number of approvers required (if REQUIRE_APPROVAL) |
approverListId | string | Approver list ID for approvals (if REQUIRE_APPROVAL) |
approvers | array | List of required approvers (if REQUIRE_APPROVAL) |
evaluationSteps | array | Step-by-step policy evaluation details |
totalEvaluationTimeMs | number | Total evaluation time in milliseconds |
policiesEvaluated | number | Number of policies evaluated |
totalPolicies | number | Total policies available |
| Field | Type | Description |
|---|---|---|
policyId | UUID | Policy identifier |
policyName | string | Policy name |
priority | number | Policy priority (lower = higher priority) |
status | string | Evaluation status (MATCHED, NOT_MATCHED, SKIPPED) |
conditions | array | Condition evaluation results |
action | object | Policy action with type (ALLOW, BLOCK, REQUIRE_APPROVAL) |
enforcementMode | string | Enforcement mode (ENFORCE, DRAFT) |
evaluationTimeMs | number | Time taken to evaluate this policy in milliseconds |
transactions:read