Read contract state (view/pure functions)
Query smart contract state by calling view or pure functions. This endpoint executes read-only operations that don't modify blockchain state and don't require gas fees.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
sender.vaultId | UUID | Yes | Vault identifier for the call |
chainId | number | Yes | Blockchain network ID |
contractAddress | string | Yes | Smart contract address (0x..., 42 chars) |
functionName | string | Yes | Function name (e.g., balanceOf, totalSupply) |
functionSignature | string | No | Full function signature (e.g., balanceOf(address)) |
parameters | array | No | Function parameters with type/value |
abi | array | No | Contract ABI for result decoding |
Parameters Array
Each parameter object includes:
| Field | Type | Description |
|---|---|---|
type | string | Solidity type (e.g., address, uint256) |
value | string/number/boolean | Parameter value |
Key Differences from Contract Write
| Aspect | Contract Read | Contract Write |
|---|---|---|
| Gas Required | No (reads are free) | Yes |
| Transaction | No (uses eth_call) | Yes (on-chain) |
| Response | Instant (synchronous) | Async (confirmation) |
| State Changes | Cannot modify | Can modify |
| Approvals | Not required | May be required |
Read Call Workflow
- Validation — Validates contract address and function details
- Encoding — Encodes function call parameters
- Policy Check — Evaluates against policies (can block)
- Execution — Executes eth_call via RPC
- Decoding — Decodes and returns result
Response Fields
| Field | Type | Description |
|---|---|---|
result | any | Decoded function return value |
rawResult | string | Raw hex-encoded result |
Use Cases
- Query token balances (balanceOf)
- Check total supply (totalSupply)
- Read contract state variables
- Verify allowances and approvals
- Query NFT ownership and metadata
- Check price feeds and oracles
Required Permission
contracts:read
Read contract state (view/pure functions)
Query smart contract state by calling view or pure functions. This endpoint executes read-only operations that don't modify blockchain state and don't require gas fees.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
sender.vaultId | UUID | Yes | Vault identifier for the call |
chainId | number | Yes | Blockchain network ID |
contractAddress | string | Yes | Smart contract address (0x..., 42 chars) |
functionName | string | Yes | Function name (e.g., balanceOf, totalSupply) |
functionSignature | string | No | Full function signature (e.g., balanceOf(address)) |
parameters | array | No | Function parameters with type/value |
abi | array | No | Contract ABI for result decoding |
Parameters Array
Each parameter object includes:
| Field | Type | Description |
|---|---|---|
type | string | Solidity type (e.g., address, uint256) |
value | string/number/boolean | Parameter value |
Key Differences from Contract Write
| Aspect | Contract Read | Contract Write |
|---|---|---|
| Gas Required | No (reads are free) | Yes |
| Transaction | No (uses eth_call) | Yes (on-chain) |
| Response | Instant (synchronous) | Async (confirmation) |
| State Changes | Cannot modify | Can modify |
| Approvals | Not required | May be required |
Read Call Workflow
- Validation — Validates contract address and function details
- Encoding — Encodes function call parameters
- Policy Check — Evaluates against policies (can block)
- Execution — Executes eth_call via RPC
- Decoding — Decodes and returns result
Response Fields
| Field | Type | Description |
|---|---|---|
result | any | Decoded function return value |
rawResult | string | Raw hex-encoded result |
Use Cases
- Query token balances (balanceOf)
- Check total supply (totalSupply)
- Read contract state variables
- Verify allowances and approvals
- Query NFT ownership and metadata
- Check price feeds and oracles
Required Permission
contracts:read