Carpool
WebsiteTwitter
  • 👋Welcome
    • 🚘What is Carpool?
    • ☕Getting Started
  • 📘Guides
    • 🔖Onboarding Programs
    • ❓Querying
    • 🚨Alerting
    • 📖Organization Management
  • ⚙️API Reference
    • 📚About our Query API
    • 📝Instructions
      • LIST_INSTRUCTIONS
      • GET_INSTRUCTION
      • GET_INSTRUCTIONS_IN_TRANSACTION
      • GET_INSTRUCTIONS_INVOLVING_ACCOUNT
      • SEARCH_INSTRUCTION_LOGS
      • SEARCH_INSTRUCTIONS
      • COUNT_INSTRUCTIONS
      • FIELD_STATISTIC_INSTRUCTION
      • MOST_COMMON_VALUES_INSTRUCTION
      • MOST_COMMON_ACCOUNTS_INSTRUCTION
    • 🗄️Accounts
      • LIST_ACCOUNTS
      • GET_ACCOUNT
      • GET_ACCOUNTS_WITH_LAMPORTS
      • SEARCH_ACCOUNTS
      • COUNT_ACCOUNTS
      • FIELD_STATISTIC_ACCOUNT
      • MOST_COMMON_VALUES_ACCOUNT
    • ⏳Account Archive
      • GET_ACCOUNT_SNAPSHOT
      • GET_ACCOUNT_SNAPSHOT_AT_SLOT
      • LIST_ACCOUNT_SNAPSHOTS
    • 🗃️Filters
      • 👓Instruction Filters
      • 🎛️Account Filters
  • ❔Resources
    • 🔗Links
    • 📄Blog Posts
Powered by GitBook
On this page
  1. API Reference
  2. Instructions

SEARCH_INSTRUCTION_LOGS

Fuzzy text search on instruction logs

PreviousGET_INSTRUCTIONS_INVOLVING_ACCOUNTNextSEARCH_INSTRUCTIONS

Last updated 1 year ago

Overview

This method will return instruction data relative to keywords searched in the logs. Running with only required body params will search across all relevant instructions and return all fields in the response body. Feel free to make use of all non-required body params for more advanced queries. Refer to the Body "Schema" tab for help.

Example - Basic

Program - Cypher Protocol

Description - Get all instructions with the keyword "ConsumePerpEvents" in the logs

Javascript

var myHeaders = new Headers();
myHeaders.append("x-api-key", "<API_KEY>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "type": "SEARCH_INSTRUCTION_LOGS",
  "query": {
    "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
    "searchText": "ConsumePerpEvents"
  }
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://mainnet.carpool.dev/query/solana", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

cURL

curl --location 'https://mainnet.carpool.dev/query/solana' \
--header 'x-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "type": "SEARCH_INSTRUCTION_LOGS",
    "query": {
        "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
        "searchText": "ConsumePerpEvents"
    }
}'

Example - Advanced

Program - Cypher Protocol

Description - Get all depostFunds type instructions with the keyword "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" in the logs. Search in a limited time window, only returning the following fields in the response body: txSignature, logs, slot, accounts, balances

Javascript

var myHeaders = new Headers();
myHeaders.append("x-api-key", "<API_KEY>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "type": "SEARCH_INSTRUCTION_LOGS",
  "query": {
    "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
    "instructionName": "depositFunds",
    "searchText": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
    "timeRange": {
      "before": "2023-07-12T22:53:09+0000",
      "after": "2023-07-11T22:53:09+0000"
    },
    "failures": false,
    "fields": [
      "txSignature",
      "logs",
      "slot",
      "accounts",
      "balances"
    ],
    "sort": {
      "order": "desc"
    },
    "pagination": {
      "limit": 20,
      "offset": 0
    }
  }
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://mainnet.carpool.dev/query/solana", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

cURL

curl --location 'https://mainnet.carpool.dev/query/solana' \
--header 'x-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "type": "SEARCH_INSTRUCTION_LOGS",
    "query": {
        "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
        "instructionName": "depositFunds",
        "searchText": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
        "timeRange": {
            "before": "2023-07-12T22:53:09+0000",
            "after": "2023-07-11T22:53:09+0000"
        },
        "failures": false,
        "fields": ["txSignature", "logs", "slot", "accounts", "balances"],
        "sort": {
            "order": "desc"
        },
        "pagination": {
            "limit": 20,
            "offset": 0
        }
    }
}'
⚙️
📝
  • Overview
  • POSTSEARCH_INSTRUCTION_LOGS
  • Example - Basic
  • Example - Advanced

SEARCH_INSTRUCTION_LOGS

post

Fuzzy text search on instruction logs

Header parameters
x-api-keystringRequired

the API key

Body
typestringRequired

should be set to 'SEARCH_INSTRUCTION_LOGS' This is the type of query you want to perform.

Example: SEARCH_INSTRUCTION_LOGS
Responses
200
Successful Response
application/json; charset=utf-8
post
POST /query/solana HTTP/1.1
Host: mainnet.carpool.dev
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 545

"{\n    \"type\": \"SEARCH_INSTRUCTION_LOGS\",\n    \"query\": {\n        \"programId\": \"CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3\",\n        \"instructionName\": \"\",\n        \"searchText\": \"ConsumePerpEvents\",\n        \"timeRange\": {\n            \"before\": \"\",\n            \"after\": \"\"\n        },\n        \"failures\": false,\n        \"fields\": [],\n        \"sort\": {\n            \"order\": \"desc\"\n        },\n        \"pagination\": {\n            \"limit\": 20,\n            \"offset\": 0\n        }\n    }\n}"
200

Successful Response

{
  "response": {
    "instructions": [
      {
        "txSignature": "rBR4jxoCgXTAYytXndUuzWKi4vZpmSSAK8xyyn4N3LjX4hfNTYM7c1ofic5A1iyXUoQEC6Etv7LQCM67xfnye4N",
        "slot": 204624060,
        "args": {
          "limit": 1985
        },
        "logs": [
          "Program log: Instruction: ConsumePerpEvents",
          "Program data: jzuYC5VdlaWyndXj/Hgo4+AWb15jbjLQ2U0SyWFnfPy//2M0B8wlaPCJ1L1FqSOCrnX2WpGoUHxa2HDEnn0TyDEC+Au0BXv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZgAAAAAAAADETSEAAAAAAAE=",
          "Program log: Number of events consumed: 1"
        ],
        "timestamp": 1689035446017,
        "isFailure": false,
        "errorCode": "text",
        "balances": [
          {
            "pubKey": "Cwfpdqg64MWdAqHfevCqHgYgcjfH9QMdMUnjjMaAezg9",
            "lamports": {
              "pre": 1297259128,
              "post": 1297254126,
              "delta": -5002
            },
            "token": {
              "owner": "234itWGBdtFT2VaPzoV8de9kGcDVCK33T9TNgVFmnpXN",
              "mint": "So11111111111111111111111111111111111111112",
              "pre": 19132223433067,
              "post": 19134585433067,
              "delta": 2362000000,
              "decimals": 9
            }
          }
        ],
        "accounts": {}
      }
    ]
  }
}