TRANSACTION (Beta)

이 기능은 사용자가 특정 이벤트 유형(eventType)과 해당 이벤트를 발생시킨 계정(eventAccountAddress)을 입력하여 API를 설정하면, 지정된 이벤트 유형이 발생했을 때 해당 이벤트 유형이 포함된 트랜잭션의 모든 세부 내역을 반환하는 API입니다. 이벤트가 발생하면 해당 트랜잭션의 전체 내역, 발신자, 수신자, 금액, 호출된 함수, 관련 데이터 등 모든 세부 정보를 확인할 수 있어 시스템 모니터링에 유용하게 활용될 수 있습니다.

Supported Network

NetworkSupporting
Ethereum Mainnet
Ethereum Testnet (sepolia)
Ethereum Testnet (holesky)
Polygon Mainnet
Polygon Testnet (amoy)
Arbitrum Mainnet
Arbitrum Testnet (sepolia)
Optimism Mainnet
Optimism Testnet (sepolia)
Kaia Mainnet
Kaia Testnet (kairos)
Aptos Mainnet
Aptos Testnet

Webhook 생성 요청 예제

eventType값을 Transaction로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다.

KeyTypeRequiredDescriptionExample Value
payloadFunctionStringfalse모니터링 하고자하는 함수. 이 필드는 "module_address::module_name::function_name" 형식으로 입력합니다."0x1::aptos_account::transfer"
eventTypeStringfalse모니터링 하고자하는 이벤트 타입. 이벤트 타입은 모듈에서 정의한 event struct의 이름을 의미합니다. 이 필드는 "module_address::module_name::event_name" 형식으로 입력합니다."0x8afb046f44dd0cb9c445458f9c2e424759cd11f4a270fe6739dcffc16a4db8e::slime_revolution_game::RandomEvent"
eventAccountAddressStringfalse모니터링 하고자하는 이벤트를 발생시키는 주소"0x0"

📘

condition 객체 필드 사용법

  1. payloadFunction 을 입력하는 경우
    • eventType과 eventAccountAddress를 동시에 입력하거나, 둘 다 입력하지 않을 수 있습니다.
    • 단, eventType과 eventAccountAddress 중 하나만 입력하는 것은 불가능합니다.
  2. payloadFunction 을 입력하지 않는 경우
    • 반드시 eventType과 eventAccountAddress를 모두 입력해야 합니다.
    • eventType과 eventAccountAddress 중 하나만 입력하는 것은 불가능합니다.

Request Example

curl --location 'https://web3.nodit.io/v1/aptos/mainnet/webhooks' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: ••••••' \
--data '{
  "eventType": "TRANSACTION",
   "description": "{WEBHOOK_DESCRIPTION}",
  "notification": {
    "webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
  },
  "condition": {
    "eventType": "0x8afb046f44dd0cb9c445458f9c2e424759cd11f4a270fe6739dcffc16a4db8e::slime_revolution_game::RandomEvent",
    "eventAccountAddress": "0x0"
  }
}'

Response Example

{
  "subscriptionId": "5022",
  "sequenceNumber": "1",
  "description": "{WEBHOOK_DESCRIPTION}",
  "protocol": "APTOS",
  "network": "MAINNET",
  "subscriptionType": "WEBHOOK",
  "notification": {
    "webhookUrl": "{WEBHOOK_LISTENER_ENDPOINT}"
  },
  "signingKey": "{signingKey}",
  "eventType": "TRANSACTION",
  "event": {
    "eventType": "0x8afb046f44dd0cb9c445458f9c2e424759cd11f4a270fe6739dcffc16a4db8e::slime_revolution_game::RandomEvent",
    "eventAccountAddress": "0x0",
    "payloadFunction": null,
    "messages": [
      {
        "version": "2107923123",
        "hash": "0x031eb21cc010f612fcb37f5da2b5c1b95dbf9073d7fcae767e1e597105468a61",
        "state_change_hash": "0xb6400de9395a8694af27027893336428a0eb78da6f7efe5d56d76e608b4a060e",
        "event_root_hash": "0xfe78206fa7fce56cf879843b53003379cef2c4e7b48f0c84a092001d7bcbd04f",
        "state_checkpoint_hash": null,
        "gas_used": "4",
        "success": true,
        "vm_status": "Executed successfully",
        "accumulator_root_hash": "0x01714c68e180ce6ea95279791a07cee4ce5bc2eecee6e046b01f1f8b7cdbc7f7",
        "timestamp": "1735290278305653",
        "type": "user_transaction",
        "events": [
          {
            "guid": {
              "creation_number": "0",
              "account_address": "0x0"
            },
            "sequence_number": "0",
            "type": "0x8afb046f44dd0cb9c445458f9c2e424759cd11f4a270fe6739dcffc16a4db8e::slime_revolution_game::RandomEvent",
            "data": {
              "random_number": "5653"
            }
          },
          {
            "guid": {
              "creation_number": "0",
              "account_address": "0x0"
            },
            "sequence_number": "0",
            "type": "0x1::transaction_fee::FeeStatement",
            "data": {
              "execution_gas_units": "3",
              "io_gas_units": "1",
              "storage_fee_octas": "0",
              "storage_fee_refund_octas": "0",
              "total_charge_gas_units": "4"
            }
          }
        ],
        "sender": "0x5f09bb76b55ad9f0c680eb42912565bbea6825d873f1403d1d3eddbbeb1e6ed8",
        "sequence_number": "454",
        "max_gas_amount": "10",
        "gas_unit_price": "100",
        "expiration_timestamp_secs": "1735290296",
        "payload": {
          "type": "entry_function_payload",
          "function": "0x8afb046f44dd0cb9c445458f9c2e424759cd11f4a270fe6739dcffc16a4db8e::slime_revolution_game::slime_revolution_spin",
          "type_arguments": [],
          "arguments": []
        },
        "signature": {
          "public_key": "0x1f2d3845bfd979ce4209a27f7c02a25927417cf9737e4fbff750b9e5888ae4f0",
          "signature": "0xd6fcdc6d64f3663e39a44cf316f0269fbf690f8e77a1e2d5c3a94c4961c169bc18a99b7be753e645799420d631c8ff27884a2523fc2344f5005a6a6e0cfbbd0d",
          "type": "ed25519_signature"
        }
      }
    ]
  },
  "createdAt": "2024-12-27T09:11:20.200452151Z"
}