Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/immutable-activities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Immutable zkEVM Activities API
version: 1.0.0
description: Immutable Multi Rollup API
contact:
name: Immutable API Support
email: support@immutable.com
url: https://support.immutable.com
servers:
- url: https://api.sandbox.immutable.com
tags:
- name: activities
description: Activities Endpoints
x-displayName: activities
paths:
/v1/chains/{chain_name}/activity-history:
get:
x-public: true
tags:
- activities
operationId: ListActivityHistory
summary: List history of activities
description: List activities sorted by updated_at timestamp ascending, useful for time based data replication
parameters:
- name: chain_name
description: The name of chain
schema:
$ref: '#/components/schemas/ChainName'
in: path
required: true
examples:
testnet:
value: imtbl-zkevm-testnet
summary: Immutable zkEVM Public Testnet
- name: from_updated_at
in: query
description: From indexed at including given date
required: true
schema:
type: string
example: '2022-08-16T17:43:26.991388Z'
format: date-time
- name: to_updated_at
in: query
required: false
description: To indexed at including given date
schema:
type: string
example: '2022-08-16T17:43:26.991388Z'
format: date-time
- name: contract_address
in: query
description: The contract address of the collection
required: false
schema:
type: string
example: '0x8a90cab2b38dba80c64b7734e58ee1db38b8992e'
- name: activity_type
in: query
description: The activity type
required: false
example: burn
schema:
$ref: '#/components/schemas/ActivityType'
- name: page_cursor
in: query
description: Encoded page cursor to retrieve previous or next page. Use the value returned in the response.
required: false
schema:
$ref: '#/components/schemas/PageCursor'
- name: page_size
description: Maximum number of items to return
in: query
required: false
schema:
$ref: '#/components/schemas/PageSize'
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ListActivitiesResult'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/v1/chains/{chain_name}/activities:
get:
x-public: true
tags:
- activities
operationId: ListActivities
summary: List all activities
description: List all activities
parameters:
- name: chain_name
description: The name of chain
schema:
$ref: '#/components/schemas/ChainName'
in: path
required: true
examples:
testnet:
value: imtbl-zkevm-testnet
summary: Immutable zkEVM Public Testnet
- name: contract_address
in: query
description: The contract address of NFT or ERC20 Token
required: false
schema:
type: string
example: '0x8a90cab2b38dba80c64b7734e58ee1db38b8992e'
- name: token_id
in: query
description: An `uint256` token id as string
required: false
schema:
type: string
example: '1'
- name: account_address
in: query
required: false
schema:
type: string
example: '0xe9b00a87700f660e46b6f5deaa1232836bcc07d3'
description: The account address activity contains
- name: activity_type
in: query
description: The activity type
required: false
example: burn
schema:
$ref: '#/components/schemas/ActivityType'
- name: transaction_hash
in: query
description: The transaction hash of activity
required: false
schema:
type: string
example: '0x68d9eac5e3b3c3580404989a4030c948a78e1b07b2b5ea5688d8c38a6c61c93e'
- name: page_cursor
in: query
description: Encoded page cursor to retrieve previous or next page. Use the value returned in the response.
required: false
schema:
$ref: '#/components/schemas/PageCursor'
- name: page_size
description: Maximum number of items to return
in: query
required: false
schema:
$ref: '#/components/schemas/PageSize'
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ListActivitiesResult'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/v1/chains/{chain_name}/activities/{activity_id}:
get:
x-public: true
tags:
- activities
operationId: GetActivity
summary: Get a single activity by ID
description: Get a single activity by ID
parameters:
- name: chain_name
description: The name of chain
schema:
$ref: '#/components/schemas/ChainName'
in: path
required: true
examples:
testnet:
value: imtbl-zkevm-testnet
summary: Immutable zkEVM Public Testnet
- name: activity_id
description: The id of activity
schema:
$ref: '#/components/schemas/ActivityID'
in: path
required: true
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/GetActivityResult'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
PageCursor:
type: string
description: Encoded page cursor to retrieve previous or next page. Use the value returned in the response.
example: ewogICJ0eXBlIjogInByZXYiLAogICJpdGVtIjogewogICAgImlkIjogNjI3NTEzMCwKICAgICJjcmVhdGVkX2F0IjogIjIwMjItMDktMTNUMTc6MDQ6MTIuMDI0MTI2WiIKICB9Cn0=
ActivityID:
description: Activity id in UUIDv4 format
type: string
format: uuid
example: 4e28df8d-f65c-4c11-ba04-6a9dd47b179b
Deposit:
type: object
description: The deposit activity details
properties:
to:
description: The account address the asset was deposited to
type: string
example: '0xe9b00a87700f660e46b6f5deaa1232836bcc07d3'
amount:
description: The deposited amount
type: string
example: '1'
asset:
$ref: '#/components/schemas/ActivityAsset'
required:
- to
- amount
- asset
Transfer:
type: object
description: The transfer activity details
properties:
from:
description: The account address the asset was transferred from
type: string
example: '0xe9b00a87700f660e46b6f5deaa1232836bcc07d3'
to:
description: The account address the asset was transferred to
type: string
example: '0xe9b00a87700f660e46b6f5deaa1232836bcc07d3'
amount:
description: The amount of assets transferred
type: string
example: '1'
asset:
$ref: '#/components/schemas/ActivityAsset'
required:
- activity_type
- from
- to
- amount
- asset
PageSize:
type: integer
format: int32
description: Maximum number of items to return
minimum: 1
default: 200
maximum: 200
example: 10
NFTSale:
description: The NFT Sale activity details
type: object
properties:
order_id:
description: The id of order
type: string
example: ARZ3NDEKTSV4RRFFQ69G5FAV
to:
description: The account address of buyer
type: string
example: '0xe9b00a87700f660e46b6f5deaa1232836bcc07d3'
from:
description: The account address of seller
type: string
example: '0xbD6cFcf93474De653d7B42b346c7c25d1F9c559C'
asset:
type: array
items:
$ref: '#/components/schemas/ActivityNFT'
payment:
$ref: '#/components/schemas/SalePayment'
required:
- order_id
- to
- from
- asset
- payment
BlockchainMetadata:
description: The metadata related to blockchain transaction
type:
- object
- 'null'
properties:
transaction_hash:
type: string
description: The transaction hash of the activity
example: '0x68d9eac5e3b3c3580404989a4030c948a78e1b07b2b5ea5688d8c38a6c61c93e'
block_number:
description: EVM block number (uint64 as string)
type: string
example: '1'
transaction_index:
description: Transaction index in a block (uint32 as string)
type: string
example: '1'
log_index:
description: The log index of activity in a block (uint32 as string)
type:
- string
- 'null'
example: '1'
required:
- transaction_hash
- block_number
- transaction_index
- log_index
ActivityNativeToken:
type: object
properties:
symbol:
description: The token symbol
type: string
example: ETH
required:
- symbol
APIError400:
allOf:
- $ref: '#/components/schemas/BasicAPIError'
- type: object
properties:
code:
type: string
description: Error Code
enum:
- VALIDATION_ERROR
example: VALIDATION_ERROR
details:
type:
- object
- 'null'
description: Additional details to help resolve the error
required:
- code
- details
SalePayment:
type: object
properties:
token:
description: The type of payment token
oneOf:
- $ref: '#/components/schemas/ActivityToken'
- $ref: '#/components/schemas/ActivityNativeToken'
price_excluding_fees:
description: The base price of the sale not including any fees
type: string
example: '180'
price_including_fees:
description: The total price of the sale. Includes the sum of all fees
type: string
example: '200'
fees:
description: The fees associated with this sale
type: array
items:
$ref: '#/components/schemas/SaleFee'
example:
- address: '0xB0F3749458169B7Ad51B5503CC3649DE55c2D0D2'
amount: '20'
type: ROYALTY
minItems: 0
required:
- token
- price_excluding_fees
- price_including_fees
- fees
ActivityToken:
type: object
properties:
contract_type:
$ref: '#/components/schemas/TokenContractType'
contract_address:
description: The contract address
type: string
example: '0x8a90cab2b38dba80c64b7734e58ee1db38b8992e'
required:
- contract_type
- contract_address
Page:
type: object
description: Pagination properties
properties:
previous_cursor:
type:
- string
- 'null'
description: First item as an encoded string
example: ewogICJ0eXBlIjogInByZXYiLAogICJpdGVtIjogewogICAgImlkIjogNjI3NTEzMCwKICAgICJjcmVhdGVkX2F0IjogIjIwMjItMDktMTNUMTc6MDQ6MTIuMDI0MTI2WiIKICB9Cn0=
next_cursor:
type:
- string
- 'null'
description: Last item as an encoded string
example: ewogICJ0eXBlIjogInByZXYiLAogICJpdGVtIjogewogICAgImlkIjogNjI3NTEzMCwKICAgICJjcmVhdGVkX2F0IjogIjIwMjItMDktMTNUMTc6MDQ6MTIuMDI0MTI2WiIKICN9Cn0=
required:
- previous_cursor
- next_cursor
APIError404:
allOf:
- $ref: '#/components/schemas/BasicAPIError'
- type: object
properties:
code:
type: string
description: Error Code
enum:
- RESOURCE_NOT_FOUND
example: RESOURCE_NOT_FOUND
details:
type:
- object
- 'null'
description: Additional details to help resolve the error
required:
- code
- details
APIError500:
allOf:
- $ref: '#/components/schemas/BasicAPIError'
- type: object
properties:
code:
type: string
description: Error Code
enum:
- INTERNAL_SERVER_ERROR
example: INTERNAL_SERVER_ERROR
details:
type:
- object
- 'null'
description: Additional details to help resolve the error
required:
- code
- details
Chain:
type: object
description: The chain details
properties:
id:
type: string
description: The id of chain
example: eip155:13372
name:
type: string
description: The name of chain
example: imtbl-zkevm-testnet
required:
- id
- name
NFTContractType:
description: The contract type for an NFT
type: string
enum:
- ERC721
- ERC1155
Mint:
type: object
description: The mint activity details
properties:
to:
description: The account address the asset was minted to
type: string
example: '0xe9b00a87700f660e46b6f5deaa1232836bcc07d3'
amount:
description: The minted amount
type: string
example: '1'
asset:
$ref: '#/components/schemas/ActivityAsset'
required:
- to
- amount
- asset
ActivityDetails:
description: The activity details
oneOf:
- $ref: '#/components/schemas/Mint'
- $ref: '#/components/schemas/Burn'
- $ref: '#/components/schemas/Transfer'
- $ref: '#/components/schemas/NFTSale'
- $ref: '#/components/schemas/Deposit'
- $ref: '#/components/schemas/Withdrawal'
SaleFee:
type: object
properties:
amount:
type: string
description: Fee payable to recipient upon settlement
example: '200'
type:
type: string
description: Fee type
example: ROYALTY
enum:
- ROYALTY
recipient:
type: string
description: Wallet address of fee recipient
example: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92233'
ActivityAsset:
description: The contract and asset details for this activity
oneOf:
- $ref: '#/components/schemas/ActivityNFT'
- $ref: '#/components/schemas/ActivityToken'
discriminator:
propertyName: contract_type
Activity:
type: object
properties:
id:
$ref: '#/components/schemas/ActivityID'
chain:
$ref: '#/components/schemas/Chain'
type:
$ref: '#/components/schemas/ActivityType'
details:
$ref: '#/components/schemas/ActivityDetails'
updated_at:
type: string
description: The time activity was updated at
format: date-time
example: '2022-08-16T17:43:26.991388Z'
indexed_at:
type: string
description: The time activity was indexed
format: date-time
example: '2022-08-16T17:43:26.991388Z'
blockchain_metadata:
$ref: '#/components/schemas/BlockchainMetadata'
required:
- id
- chain
- type
- details
- indexed_at
- updated_at
- blockchain_metadata
TokenContractType:
description: The contract type for a token
type: string
enum:
- ERC20
ChainName:
type: string
description: The name of chain
example: imtbl-zkevm-testnet
ListActivitiesResult:
type: object
description: List activities response
properties:
result:
type: array
description: List of activities
items:
$ref: '#/components/schemas/Activity'
page:
$ref: '#/components/schemas/Page'
required:
- result
- page
Withdrawal:
description: The withdrawal activity details
type: object
properties:
from:
description: The account address the asset was withdrawn from
type: string
example: '0xe9b00a87700f660e46b6f5deaa1232836bcc07d3'
amount:
description: The amount of assets withdrawn
type: string
example: '1'
asset:
$ref: '#/components/schemas/ActivityAsset'
required:
- from
- amount
- asset
Burn:
description: The burn activity details
type: object
properties:
from:
description: The account address the asset was transferred from
type: string
example: '0xe9b00a87700f660e46b6f5deaa1232836bcc07d3'
amount:
description: The amount of assets burnt
type: string
example: '1'
asset:
$ref: '#/components/schemas/ActivityAsset'
required:
- from
- amount
- asset
BasicAPIError:
type: object
properties:
message:
type: string
description: Error Message
maxLength: 1024
pattern: ^[\x20-\x7E]*$
example: all fields must be provided
link:
type: string
format: uri
description: Link to IMX documentation that can help resolve this error
maxLength: 2048
example: https://docs.x.immutable.com/reference/#/
trace_id:
type: string
description: Trace ID of the initial request
maxLength: 64
pattern: ^[a-zA-Z0-9_-]+$
example: e47634b79a5cd6894ddc9639ec4aad26
required:
- message
- link
- trace_id
ActivityType:
description: The activity type
example: mint
type: string
enum:
- mint
- burn
- transfer
- sale
- deposit
- withdrawal
GetActivityResult:
type: object
description: Single activity
properties:
result:
$ref: '#/components/schemas/Activity'
required:
- result
ActivityNFT:
type: object
properties:
contract_type:
$ref: '#/components/schemas/NFTContractType'
contract_address:
description: The token contract address
type: string
example: '0x8a90cab2b38dba80c64b7734e58ee1db38b8992e'
token_id:
description: An `uint256` token id as string
type: string
example: '1'
amount:
description: (deprecated - will never be filled, use amount on Activity instead) The amount of tokens exchanged
type: string
example: '1'
deprecated: true
required:
- contract_type
- contract_address
- token_id
- amount
responses:
BadRequest:
description: Bad Request (400)
content:
application/json:
schema:
$ref: '#/components/schemas/APIError400'
NotFound:
description: The specified resource was not found (404)
content:
application/json:
schema:
$ref: '#/components/schemas/APIError404'
InternalServerError:
description: Internal Server Error (500)
content:
application/json:
schema:
$ref: '#/components/schemas/APIError500'
securitySchemes:
BearerAuthWithClient:
type: http
scheme: bearer
bearerFormat: JWT
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
ImmutableApiKey:
x-go-name: ImmutableApiKey
type: apiKey
in: header
name: x-immutable-api-key
OktaBearerAuth:
type: http
scheme: bearer
bearerFormat: JWT