> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockx.chaintable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run once and return results

> Submit explicit inputs and inspect the resulting records.

Use explicit inputs to test a function or query selected EVM entities. Start with a pure function, then substitute the [contract-reading function](/guides/write-functions) when node access is available.

## Prerequisites

Complete the [Quickstart](/quickstart), or use an environment with its connection proxy configured. The client uses `PROXY_SOCKET_PATH` to reach that proxy. Use the dependencies pinned in the BlockX checkout's `python/pyproject.toml`.

## Submit a minimal task

This example returns its arguments without reading a chain. Its block and address are synthetic test values.

```python theme={null}
from blockx import Function, InputsCallConfig, ReturnValueHandler, TaskBuilder

source_code = """
def _(chain_id, block_id, holder):
    return {"chain_id": chain_id, "block_id": block_id, "id": holder}
"""

task = TaskBuilder.build(
    InputsCallConfig(
        func=Function(source_code=source_code),
        callList=[["eth", "0x" + "ab" * 32, "0x" + "11" * 20]],
    ),
    ReturnValueHandler(),
)
result = task.submit(timeout=30)
if not result.task_result.success:
    raise RuntimeError(result.task_result.failure_code)
print(result.handler_result)
```

Each `callList` row supplies positional arguments for one function invocation. For a real EVM read, replace the synthetic values with a block and addresses your backend can serve.

## Confirm completion

`ReturnValueHandler` returns collected outputs in `handler_result`. Match outputs by their identifiers, not by list position. The task performs no table writes.

## Handle failure

A connection exception does not establish a task's terminal state. Preserve `task.task_id` for investigation. A returned failed result includes a failure code; see [Query results and handle failures](/guides/results-and-failures).

## Continue reading

* [Write EVM data functions](/guides/write-functions)
* [Compute per block](/guides/block-computation)
* [Results and errors reference](/reference/results-and-errors)
* [Submit a task with Go](/development/submit-task-example)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.