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

MOST_COMMON_ACCOUNTS_INSTRUCTION

List the most common accounts used within an instruction for the given body parameters

PreviousMOST_COMMON_VALUES_INSTRUCTIONNextAccounts

Last updated 1 year ago

Overview

This method returns the most common accounts based on the given accountName and an optional robust filter object. There are many types of filters you can apply and you can find information regarding those in the section of the docs.

Filters

As mentioned above, the api definition here implements an optional filter object. All queries that accept a filter object in the POST body can make use of any of the potential filters. Please see the Instruction Filters section of the documentation to better understand how they are implemented for instruction queries.

Example - Basic

Program - Cypher Protocol

Description - Return the most common accounts that fall under the OrdersAccount type.

Javascript

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

var raw = JSON.stringify({
  "type": "MOST_COMMON_ACCOUNTS_INSTRUCTION",
  "query": {
      "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
      "accountName": "authority"
  }
});

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": "MOST_COMMON_ACCOUNTS_INSTRUCTION",
    "query": {
        "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
        "accountName": "OrdersAccount"
    }
}'

Example - Advanced

Program - Cypher Protocol

Description - Return the 10 most common accounts that fall under the OrdersAccount type. Filter for instructions where only the specified account has a valid lamport balance above 0 and only look in the given time range.

Javascript

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

var raw = JSON.stringify({
  "type": "MOST_COMMON_ACCOUNTS_INSTRUCTION",
  "query": {
    "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
    "accountName": "OrdersAccount",
    "limit": "10",
    "filter": {
      "type": "INSTRUCTION_BALANCES",
      "accountPubKey": "7gvjJwQVQFLM2akuL2hdvkExTXQA7VN921fdXu4g29mk",
      "delta": {
        "gte": 0
      }
    },
    "timeRange": {
      "before": "2023-07-12T22:53:09+0000",
      "after": "2023-07-11T22:53:09+0000"
    }
  }
});

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": "MOST_COMMON_ACCOUNTS_INSTRUCTION",
    "query": {
        "programId": "CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3",
        "accountName": "OrdersAccount",
        "limit": "10",
        "filter": {
            "type": "INSTRUCTION_BALANCES",
            "accountPubKey": "7gvjJwQVQFLM2akuL2hdvkExTXQA7VN921fdXu4g29mk",
            "delta": {
                "gte": 0
            }
        },
        "timeRange": {
            "before": "2023-07-12T22:53:09+0000",
            "after": "2023-07-11T22:53:09+0000"
        }
    }
}'

⚙️
📝
👓Instruction Filters
Filters
  • Overview
  • POSTMOST_COMMON_ACCOUNTS_INSTRUCTION
  • Filters
  • Example - Basic
  • Example - Advanced

MOST_COMMON_ACCOUNTS_INSTRUCTION

post

List the most common accounts used within an instruction for the given body parameters

Header parameters
x-api-keystringRequired

the API key

Body
typestringRequired

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

Example: MOST_COMMON_ACCOUNTS_INSTRUCTION
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: 356

"{\n    \"type\": \"MOST_COMMON_ACCOUNTS_INSTRUCTION\",\n    \"query\": {\n        \"programId\": \"CYPH3o83JX6jY6NkbproSpdmQ5VWJtxjfJ5P8veyYVu3\",\n        \"accountName\": \"OrdersAccount\",\n        \"limit\": \"\",\n        \"timeRange\": {\n            \"before\": \"\",\n            \"after\": \"\"\n        },\n        \"failures\": false\n    }\n}"
200

Successful Response

{
  "response": {
    "values": [
      {
        "value": "text",
        "count": 1
      }
    ]
  }
}