Tracking a message
Track messages sent through Concero’s messaging protocol and obtain detailed status, origin, destination, and transaction information.
Endpoint & Method
- Method:
GET - URL:
https://api.v2.concero.io/api/v1/scan/tx
Query Parameters
| Parameter | Type | Description | Required/Optional |
|---|---|---|---|
messageId | string | Unique identifier of the message | Optional |
srcHash | string | Source chain transaction hash | Optional |
dstHash | string | Destination chain transaction hash | Optional |
sender | string | Address of the message sender | Optional |
receiver | string | Address of the message recipient | Optional |
take | number | Number of messages to return (pagination limit) | Optional |
skip | number | Number of messages to skip (pagination offset) | Optional |
Note: One of
messageId,srcHash,dstHash,sender, or receiver must be provided. Usetakeandskipfor pagination control.
Response Structure
The API response includes:
code— API response status (okor error codes)payload.transactions— Array of matched message transactionspayload.pagination— Pagination information (takeandskip)
Example
Request
Below is an example demonstrating how to make a request to the Concero API to track a specific message by its messageId. The request uses the GET method with the messageId and pagination options as query parameters.
curl -X 'GET' \
'https://api.v2.concero.io/api/v1/scan/tx?&messageId=0xfff31ff0333baba7b54da7710edfc2fb7b645e95e57ebb44cfe06a505c0410f6&take=1&skip=0' \
-H 'accept: application/json'Response
Following the request example is a sample JSON response showing the structure of the data returned by the API. This response includes transaction details such as the message status, token transfers, source and destination chain information, and pagination metadata.
{
"code": "ok",
"payload": {
"transactions": [
{
"type": "lbf",
"id": "0xfff31ff0333baba7b54da7710edfc2fb7b645e95e57ebb44cfe06a505c0410f6",
"status": "success",
"isFinalityRequired": false,
"dstChainGasLimit": "0",
"messagePayload": "0x0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000239d5b78680e9ad600ab41e56508670ba9e78f51000000000000000000000000239d5b78680e9ad600ab41e56508670ba9e78f5100000000000000000000000000000000000000000000000000000000000f187b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000",
"from": {
"chain": {
"id": 421614,
"selector": 421614,
"name": "Arbitrum Sepolia"
},
"token": {
"name": "USD Coin",
"symbol": "USDC.e",
"address": "0xefc3ac3bcb37f0f26efde1e1b06609bdff690604",
"decimals": 6,
"priceUsd": 1,
"amount": 0.99
},
"address": "0x239d5b78680e9ad600ab41e56508670ba9e78f51",
"hash": "0xeda4c75e41b6f1bea80a9fb116e67f6e99518b4eb7fccf1587348eac00a49791",
"timestamp": 1758708525
},
"to": {
"chain": {
"id": 43113,
"selector": 43113,
"name": "Avalanche Fuji"
},
"token": {
"name": "USD Coin",
"symbol": "USDC.e",
"address": "0x855f39baacaf30d7de448542316a889ee4db4ddb",
"decimals": 6,
"priceUsd": 1,
"amount": 0.989307
},
"address": "0x239d5b78680e9ad600ab41e56508670ba9e78f51",
"hash": "0x4c321b5b88eed8d38baeb1c81527758b2bdfb562e6ea94cb0ca6251f657442f4",
"timestamp": 1758708536
}
}
],
"pagination": {
"skip": 0,
"take": 1
}
}
}