{
  "openapi": "3.0.1",
  "info": {
    "title": "Wallet Balance API - GoldRush Tokens, Transactions and NFTs",
    "description": "Wallet and blockchain data API for GoldRush (Covalent) across 100+ chains: ERC20 token balances with prices, decoded wallet transactions, NFT holdings, token holders, contract event logs, historical portfolio value and chain list. Ethereum, Base, Polygon, BSC, Arbitrum. Bring your own key.",
    "version": "0.1",
    "x-build-id": "HC7D0lhaicLsYKg9g"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~wallet-token-balance-nft-blockchain-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-wallet-token-balance-nft-blockchain-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/nabeelbaghoor~wallet-token-balance-nft-blockchain-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-wallet-token-balance-nft-blockchain-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/nabeelbaghoor~wallet-token-balance-nft-blockchain-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-wallet-token-balance-nft-blockchain-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to read",
            "enum": [
              "tokenBalances",
              "transactions",
              "nfts",
              "tokenHolders",
              "logEvents",
              "portfolio",
              "chains",
              "chainStatus"
            ],
            "type": "string",
            "description": "Token balances lists every native and ERC20 token a wallet holds with spot prices and fiat value. Wallet transactions reads decoded transaction history (newest or oldest first) with log events and gas. NFT holdings lists the NFT collections and token IDs a wallet holds with metadata. Token holders lists every holder of a token contract with balances, at the latest block or a past block or date. Contract log events reads decoded event logs a contract emitted. Historical portfolio value gives a wallet's daily balance and fiat value per token. Supported chains and Chain status list every chain the API covers.",
            "default": "tokenBalances"
          },
          "addresses": {
            "title": "Addresses",
            "type": "array",
            "description": "Wallet addresses for token balances, transactions, NFTs and portfolio; token contract addresses for token holders; contract addresses for log events. ENS, RNS, Lens handles and Unstoppable Domains resolve automatically. One per line; each is read on every chain you pick.",
            "items": {
              "type": "string"
            }
          },
          "chainNames": {
            "title": "Chains",
            "type": "array",
            "description": "The chains to read each address on. Each chain and address pair is its own lookup. Defaults to Ethereum.",
            "items": {
              "type": "string",
              "enum": [
                "eth-mainnet",
                "matic-mainnet",
                "bsc-mainnet",
                "base-mainnet",
                "arbitrum-mainnet",
                "optimism-mainnet",
                "avalanche-mainnet",
                "gnosis-mainnet",
                "linea-mainnet",
                "scroll-mainnet",
                "zksync-mainnet",
                "mantle-mainnet",
                "berachain-mainnet",
                "apechain-mainnet",
                "arbitrum-nova-mainnet",
                "axie-mainnet",
                "sonic-mainnet",
                "taiko-mainnet",
                "unichain-mainnet",
                "world-mainnet",
                "plasma-mainnet",
                "sei-mainnet",
                "monad-mainnet",
                "ink-mainnet",
                "hyperevm-mainnet",
                "btc-mainnet",
                "solana-mainnet",
                "eth-sepolia"
              ],
              "enumTitles": [
                "Ethereum",
                "Polygon",
                "BNB Smart Chain",
                "Base",
                "Arbitrum One",
                "Optimism",
                "Avalanche C-Chain",
                "Gnosis",
                "Linea",
                "Scroll",
                "zkSync Era",
                "Mantle",
                "Berachain",
                "ApeChain",
                "Arbitrum Nova",
                "Ronin (Axie)",
                "Sonic",
                "Taiko",
                "Unichain",
                "World Chain",
                "Plasma",
                "Sei",
                "Monad",
                "Ink",
                "HyperEVM",
                "Bitcoin",
                "Solana",
                "Ethereum Sepolia testnet"
              ]
            },
            "default": [
              "eth-mainnet"
            ]
          },
          "otherChains": {
            "title": "Other chains",
            "type": "array",
            "description": "Any other GoldRush chain name not in the list above, one per line, such as celo-mainnet or fantom-mainnet. The supported chains mode lists every name.",
            "items": {
              "type": "string"
            }
          },
          "quoteCurrency": {
            "title": "Quote currency",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "SGD",
              "INR",
              "JPY",
              "VND",
              "CNY",
              "KRW",
              "RUB",
              "TRY",
              "NGN",
              "ARS",
              "AUD",
              "CHF",
              "GBP"
            ],
            "type": "string",
            "description": "Fiat currency for prices and values. Token balances, transactions and historical portfolio only.",
            "default": "USD"
          },
          "noSpam": {
            "title": "Remove spam tokens",
            "type": "boolean",
            "description": "Token balances and NFT holdings only. Drops suspected spam tokens and NFTs (supported on the Foundational Chains).",
            "default": true
          },
          "noNftMetadata": {
            "title": "Skip NFT metadata",
            "type": "boolean",
            "description": "NFT holdings only. Returns just collections and token IDs, without metadata and images. Faster for wallets holding many NFTs.",
            "default": false
          },
          "transactionOrder": {
            "title": "Transaction order",
            "enum": [
              "newest",
              "oldest"
            ],
            "type": "string",
            "description": "Wallet transactions only. Newest first starts from the most recent page and walks back; oldest first starts from the wallet's first transactions.",
            "default": "newest"
          },
          "noLogs": {
            "title": "Omit log events",
            "type": "boolean",
            "description": "Wallet transactions only. Leaves out the decoded log events, which halves the provider's credit cost per transaction.",
            "default": false
          },
          "withInternal": {
            "title": "Include internal transfers",
            "type": "boolean",
            "description": "Wallet transactions only. Adds internal transfers (traces) on the EVM chains that support them; costs extra provider credits.",
            "default": false
          },
          "blockHeight": {
            "title": "Holders at block height",
            "type": "string",
            "description": "Token holders only. A past block number such as 21000000 for a historical snapshot (Foundational Chains only). Leave empty for the latest."
          },
          "snapshotDate": {
            "title": "Holders at date",
            "type": "string",
            "description": "Token holders only. A past date (YYYY-MM-DD) for a historical snapshot (Foundational Chains only). Leave empty for today."
          },
          "noSnapshot": {
            "title": "Bypass holder snapshot",
            "type": "boolean",
            "description": "Token holders only. Skips the last cached snapshot and reads the latest holder list.",
            "default": false
          },
          "startingBlock": {
            "title": "Starting block",
            "type": "string",
            "description": "Contract log events only. First block to read: a number, a hex block, or earliest or latest."
          },
          "endingBlock": {
            "title": "Ending block",
            "type": "string",
            "description": "Contract log events only. Last block to read: a number, a hex block, or earliest or latest."
          },
          "days": {
            "title": "Days of history",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Historical portfolio value only. Number of days to return; the provider defaults to 30."
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most rows this run returns and charges for, across all chains and addresses.",
            "default": 100
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 3000,
            "type": "integer",
            "description": "Pacing. GoldRush allows 4 requests a second on the trial and Vibe Coding plans and 50 on Professional, and answers 429 above it, which the actor waits out and retries.",
            "default": 120
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own GoldRush API key, from the API Keys page of your GoldRush platform account (goldrush.dev/platform). Stored as a secret and sent only in the Authorization header; it is never logged. You can instead set the DATA_API_KEY environment secret."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}