Submit a transaction
Submit a transaction for processing with policy evaluation and workflow orchestration. The transaction will be validated, enriched with organization and network configuration, evaluated against policies, sent for approval if required, and executed on the blockchain through automated workflows.
Request Body
Core Fields
| Field | Type | Required | Description |
|---|---|---|---|
chainId | number | Yes | Blockchain network identifier (e.g., 1 for Ethereum, 137 for Polygon) |
type | string | No | Transaction type (default: TRANSFER) |
accountIdentifier | string | No | Account identification method: address or vaultId |
Transaction Types
| Type | Description | Gas Required |
|---|---|---|
| TRANSFER | Send native currency or ERC-20 tokens | Yes |
| CONTRACT_WRITE | Execute state-changing contract function | Yes |
| CONTRACT_READ | Query contract state (view/pure) | No |
| CONTRACT_DEPLOY | Deploy new smart contract | Yes |
| MINT | Create new tokens | Yes |
| BURN | Destroy tokens | Yes |
| RAW_SIGNING | Sign arbitrary data | No |
Sender Object
The sender must be an internal vault owned by your organization.
| Field | Type | Description |
|---|---|---|
vaultId | UUID | Internal vault identifier |
address | string | Blockchain wallet address (0x..., 42 chars) |
Recipient Object
| Field | Type | Description |
|---|---|---|
vaultId | UUID | Internal vault for vault-to-vault transfers |
address | string | External blockchain address (0x..., 42 chars) |
Asset Object (Required for TRANSFER)
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | native (ETH/MATIC) or token (ERC-20) |
address | string | If type=token | ERC-20 contract address |
symbol | string | No | Asset symbol (auto-fetched if omitted) |
decimals | integer | No | Decimal places (auto-fetched if omitted) |
Additional Fields
| Field | Type | Description |
|---|---|---|
amount | string | Transaction amount in human-readable format (e.g., "1.5") |
data | string | Hex-encoded transaction data (0x...) |
functionSignature | string | Human-readable function signature for audit logs |
contractAddress | string | Contract address for CONTRACT_READ/CONTRACT_WRITE |
functionName | string | Function name for CONTRACT_READ |
parameters | array | Function parameters for CONTRACT_READ |
gasLimit | string | Maximum gas units (auto-estimated if omitted) |
maxFeePerGas | string | EIP-1559 max fee per gas in wei |
maxPriorityFeePerGas | string | EIP-1559 priority fee in wei |
Transaction Workflow
- Validation — Request validated against schema
- Enrichment — Organization and network configuration added
- Policy Evaluation — Rules checked for approval requirements
- Approval — Multi-party approval if policy requires
- Execution — Transaction signed and broadcast to blockchain
- Confirmation — Transaction confirmed on chain
Use Cases
- Process payroll or vendor payments
- Execute token transfers to external addresses
- Interact with DeFi protocols (CONTRACT_WRITE)
- Deploy smart contracts for tokenization
- Read on-chain data without gas fees (CONTRACT_READ)
Required Permission
transactions:create
Submit a transaction
Submit a transaction for processing with policy evaluation and workflow orchestration. The transaction will be validated, enriched with organization and network configuration, evaluated against policies, sent for approval if required, and executed on the blockchain through automated workflows.
Request Body
Core Fields
| Field | Type | Required | Description |
|---|---|---|---|
chainId | number | Yes | Blockchain network identifier (e.g., 1 for Ethereum, 137 for Polygon) |
type | string | No | Transaction type (default: TRANSFER) |
accountIdentifier | string | No | Account identification method: address or vaultId |
Transaction Types
| Type | Description | Gas Required |
|---|---|---|
| TRANSFER | Send native currency or ERC-20 tokens | Yes |
| CONTRACT_WRITE | Execute state-changing contract function | Yes |
| CONTRACT_READ | Query contract state (view/pure) | No |
| CONTRACT_DEPLOY | Deploy new smart contract | Yes |
| MINT | Create new tokens | Yes |
| BURN | Destroy tokens | Yes |
| RAW_SIGNING | Sign arbitrary data | No |
Sender Object
The sender must be an internal vault owned by your organization.
| Field | Type | Description |
|---|---|---|
vaultId | UUID | Internal vault identifier |
address | string | Blockchain wallet address (0x..., 42 chars) |
Recipient Object
| Field | Type | Description |
|---|---|---|
vaultId | UUID | Internal vault for vault-to-vault transfers |
address | string | External blockchain address (0x..., 42 chars) |
Asset Object (Required for TRANSFER)
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | native (ETH/MATIC) or token (ERC-20) |
address | string | If type=token | ERC-20 contract address |
symbol | string | No | Asset symbol (auto-fetched if omitted) |
decimals | integer | No | Decimal places (auto-fetched if omitted) |
Additional Fields
| Field | Type | Description |
|---|---|---|
amount | string | Transaction amount in human-readable format (e.g., "1.5") |
data | string | Hex-encoded transaction data (0x...) |
functionSignature | string | Human-readable function signature for audit logs |
contractAddress | string | Contract address for CONTRACT_READ/CONTRACT_WRITE |
functionName | string | Function name for CONTRACT_READ |
parameters | array | Function parameters for CONTRACT_READ |
gasLimit | string | Maximum gas units (auto-estimated if omitted) |
maxFeePerGas | string | EIP-1559 max fee per gas in wei |
maxPriorityFeePerGas | string | EIP-1559 priority fee in wei |
Transaction Workflow
- Validation — Request validated against schema
- Enrichment — Organization and network configuration added
- Policy Evaluation — Rules checked for approval requirements
- Approval — Multi-party approval if policy requires
- Execution — Transaction signed and broadcast to blockchain
- Confirmation — Transaction confirmed on chain
Use Cases
- Process payroll or vendor payments
- Execute token transfers to external addresses
- Interact with DeFi protocols (CONTRACT_WRITE)
- Deploy smart contracts for tokenization
- Read on-chain data without gas fees (CONTRACT_READ)
Required Permission
transactions:create