Getting the Transaction Status
From the Kima Backend
Using the Kima Backend, you can get the transaction status by calling two /tx
endpoints depending on the type of transaction.
For regular transactions:GET /tx/:txId/status
For liquidity pool transactions:GET /tx/lp/:txId/status
Parameters:
txId
number
: the transaction id number. This is a sequential number assigned to each transaction, NOT the transaction hash (tx_id
below).
Success Response:
{
"data": {
"transaction_data": [
{
"failreason": "",
"pullfailcount": 0,
"pullhash": "0x479c907fe8c92970e99fa102d440e805fa7d5d436469d4bbc003dec21349230f",
"releasefailcount": 0,
"releasehash": "4r58fVKEL6q6dZ7xdqTUXrL3adVLH23EYavwh7EjavPTu2mCwiqGJqtoWRHiSC17rsVJA2jdcAjF3ZoGbG5e1y86",
"txstatus": "Completed",
"amount": "6.00",
"creator": "kima18lhurd62myjv0c73dfrzej9wamvs4rffugd948",
"originaddress": "0x366Aa85aFd7e5Cb657748f2142009a04750AD081",
"originchain": "ARB",
"originsymbol": "USDK",
"targetsymbol": "USDK",
"targetaddress": "64tSEV9Rc5L7LaYDnSwaEgi4YGZMkBr4VnT9S7Va8fNE",
"targetchain": "SOL",
"tx_id": 15519,
"kimahash": "4C9135132C88B05C78B89B208A9655428AF3E86A43D6E4D0680463364037F5DD"
}
]
}
}
From the Kima Subgraph
Once the transaction has been submitted to the Kima Transaction Backend, you’ll want to display the transaction progress in the frontend. There are 2 GraphQL queries on the Kima subgraph for this purpose.
Mainnet Kima Subgraph url:
https://graphql.kima.finance/v1/graphql
Sardis Testnet url:
https://graphql.sardis.kima.network/v1/graphql
Here is a code snippet for regular transactions using plain fetch
. See the docs for your favorite graphql client for constructing queries.
const result = await fetch("https://graphql.kima.network/v1/graphql", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
query: `
query TransactionDetailsKima($txId: String) {
transaction_data(where: { tx_id: { _eq: $txId } }, limit: 1\) {
failreason
pullfailcount
pullhash
releasefailcount
releasehash
txstatus
amount
creator
originaddress
originchain
originsymbol
targetsymbol
targetaddress
targetchain
tx_id
kimahash
}
}`,
variables: {
txId: BigInt(txId),
},
}),
}).then((res) => res.json());
For liquidity pool transactions:
const result = await fetch("https://graphql.kima.network/v1/graphql", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
query: `
query TransactionDetailsKima($txId: String) {
liquidity_transaction_data(where: { tx_id: { _eq: $txId } }, limit: 1\) {
failreason
pullfailcount
pullhash
releasefailcount
releasehash
txstatus
amount
creator
chain
providerchainaddress
symbol
tx_id
kimahash
}
}`,
variables: {
txId: BigInt(txId),
},
}),
}).then((res) => res.json());
Last updated