---
title: "[Ethereum] Process contract call"
method: POST
path: "/v1/ledgers/{ledgerId}/ethereum/call"
tags: ["Ledgers"]
---

# [Ethereum] Process contract call

`POST /v1/ledgers/{ledgerId}/ethereum/call`

## Path parameters

- `ledgerId` string, required

## Request body

- CoreEthereumCallRequest
  - `contractAddress` string, required
  - `from` union, required
    - CoreEthereumCallerAccount
      - `domainId` string, uuid, required
      - `accountId` string, uuid, required
      - `type` 'Account', required
    - CoreEthereumCallerAddress
      - `address` string, required
      - `type` 'Address', required
  - `value` string — This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.
  - `data` string

## Response `200`

- string

## Other responses

- `400` — Invalid value for: path parameter ledgerId, Invalid value for: body
- `401` — One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)
- `404` — Entity or Domain not found (EntityNotFoundError)

---

[API](https://skmtc.net/ripple/apis/ripple-custody-api.md) · [All operations](https://skmtc.net/ripple/apis/ripple-custody-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ripple/ripple-custody-api/revisions/410038300d74/schema)
