Skip to main content
POST
/
v1
/
w3s
/
contracts
/
monitors
Create Event Monitor
curl --request POST \
  --url https://api.circle.com/v1/w3s/contracts/monitors \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "blockchain": "ETH",
  "contractAddress": "0x6bc50ff08414717f000431558c0b585332c2a53d",
  "eventSignature": "Transfer(address,address,uint256)",
  "idempotencyKey": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"
}'
{
  "data": {
    "eventMonitor": {
      "id": "e3c998a5-bdf1-4f3e-812f-24da238c0fff",
      "blockchain": "MATIC-AMOY",
      "contractAddress": "0x1e124d7384cd34448ea5907bd0052a79355ab5eb",
      "eventSignature": "Transfer(address indexed from, address indexed to, uint256 value)",
      "eventSignatureHash": "0xd3d3dd4b1fd3e53f94deb24e763485b4c925345c5abfa9ad529c67aa55a3b784",
      "isEnabled": true
    }
  }
}

Authorizations

Authorization
string
header
required

Circle's API Keys are formatted in the following structure "PREFIX:ID:SECRET". All three parts are requred to make a successful request.

Headers

X-Request-Id
string

Developer-provided parameter used to identify this request. Useful when communicating with Circle Support.

Example:

"2adba88e-9d63-44bc-b975-9b6ae3440dde"

Body

application/json

Create Event Monitor Request

blockchain
enum<string>
required

The blockchain network that the resource is to be created on or is currently on. Required along with sourceAddress if you don't provide walletId. The blockchain and walletId fields are mutually exclusive.

Available options:
ETH,
ETH-SEPOLIA,
MATIC,
MATIC-AMOY,
ARB,
ARB-SEPOLIA,
UNI,
UNI-SEPOLIA,
BASE,
BASE-SEPOLIA,
OP,
OP-SEPOLIA
Example:

"MATIC-AMOY"

contractAddress
string
required

The on-chain address of this contract.

Example:

"0x1e124d7384cd34448ea5907bd0052a79355ab5eb"

eventSignature
string
required

The specific event to which you want to subscribeven. Please ensure no spaces are included.

idempotencyKey
string<uuid>
required

Universally unique identifier (UUID v4) idempotency key. This key is utilized to ensure exactly-once execution of mutating requests. To create a UUIDv4 go to uuidgenerator.net. If the same key is reused, it will be treated as the same request and the original response will be returned.

Example:

"a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"

Response

Event monitor already exists.

data
object
required