---
title: "Read-only contract call (no signing, no billing, anonymous)"
method: POST
path: "/contracts/v1/read"
tags: ["Contracts"]
---

# Read-only contract call (no signing, no billing, anonymous)

`POST /contracts/v1/read`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/contracts/v1/read`
- Auth: none declared

## Request body

- object
  - `chain` string, required
  - `contract_address` string, required
  - `abi_fragment` unknown[], required
    - unknown
  - `function_name` string, required
  - `args` unknown[], required
    - unknown

## Response `200`

Decoded result

- ContractReadResponse
  - `result` unknown, required

## Other responses

- `400`: Unsupported chain, invalid ABI, invalid contract address, or `invalid_args` (code `INVALID_ARGS`): `args` do not encode against the function's inputs in `abi_fragment` (count, type, address, or integer range); `detail` names the mismatch
- `422`: The contract answered without a result: `call_reverted` (code `CALL_REVERTED`, `reason` carries the revert reason) or `call_returned_no_data` (code `CALL_RETURNED_NO_DATA`: no contract or no such function at that address on this chain)
- `502`: RPC failure (`rpc_failed`): the chain's RPC could not be reached or did not answer

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
