App Development
Applications on GOAT Network should distinguish between fast L2 confirmation and Bitcoin-backed finality.
Pending
|
v
Sequencer confirmed
|
v
Published to Bitcoin
|
v
Finalized
Property Detail Meaning The transaction is in the mempool or waiting to be included in a GOAT Network block. Availability Query the pending pool with eth_getTransactionByHash. Typical action Show a pending badge and allow replacement or cancellation if your wallet supports it.
Property Detail Meaning The transaction was included in a GOAT Network block but is not yet Bitcoin-final. Typical timeframe Usually 2-4 seconds. Typical action Tell users the transaction is visible on GOAT Network but not yet final.
Property Detail Meaning The commitment or related settlement data reached Bitcoin, but confirmation depth may still be low. Typical timeframe Usually 10-60 minutes, depending on Bitcoin block times. Typical action Show confirmation progress toward finality.
Property Detail Meaning The transaction is now backed by sufficient Bitcoin confirmations. Typical timeframe Depends on required confirmation depth, for example about 1 hour for 6 Bitcoin confirmations. Typical action Mark the action complete and irreversible.
Check transaction receipt with ethers.js const receipt = await provider. getTransactionReceipt (txHash);
if ( ! receipt) {
console. log ( 'Pending' );
} else if (receipt.status === 1 ) {
console. log ( 'Included on GOAT Network' );
} else {
console. log ( 'Failed' );
}
const latestBlock = await provider. getBlockNumber ();
console. log ({ latestBlock });
RPC method Purpose eth_getTransactionReceiptRetrieve execution status and block metadata eth_getTransactionByHashRead the raw transaction payload eth_getBlockByNumberCheck block timing and confirmation progress
Bitcoin reorgs can affect transactions in the published-but-not-final stage. Wait for enough confirmations before treating high-value actions as final.
A receipt with status: false usually means insufficient gas, fee configuration problems, or a smart contract execution error.
Batch operations are atomic: if one operation reverts, the whole batch reverts.
Use retries carefully. Replacing a pending transaction with the same nonce and higher fees can be useful, but careless retries can create nonce conflicts.
Use different UI labels for GOAT Network inclusion and Bitcoin finality.
Surface reorg risk until Bitcoin confirmation depth is acceptable for your use case.
Handle status: false receipts as contract or execution failures, not just slow confirmations.
Link users to the appropriate explorer for independent verification.
Join the GOAT Developer Chat for support and operational updates.