From 92f63399db8aee6fd222402420258252030d75e8 Mon Sep 17 00:00:00 2001 From: Aniket Dixit Date: Thu, 8 Jan 2026 17:42:39 +0530 Subject: [PATCH 1/3] timeout and batch size changes --- typescript/packages/x402/src/facilitator/worker.ts | 4 ++-- typescript/packages/x402/src/schemes/exact/evm/facilitator.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/typescript/packages/x402/src/facilitator/worker.ts b/typescript/packages/x402/src/facilitator/worker.ts index 0aed05e..b36f586 100644 --- a/typescript/packages/x402/src/facilitator/worker.ts +++ b/typescript/packages/x402/src/facilitator/worker.ts @@ -21,8 +21,8 @@ export async function startWorker( msg: string; }[] = []; let lastFlushTime = Date.now(); - const BATCH_SIZE = Number(process.env.SETTLEMENT_BATCH_SIZE) || 20; - const BATCH_TIMEOUT = Number(process.env.SETTLEMENT_BATCH_TIMEOUT) || 60000; + const BATCH_SIZE = Number(process.env.SETTLEMENT_BATCH_SIZE) || 50; + const BATCH_TIMEOUT = Number(process.env.SETTLEMENT_BATCH_TIMEOUT) || 60000 * 3; console.log("Worker started, listening for jobs..."); diff --git a/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts b/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts index c35f8fa..aec15a4 100644 --- a/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts +++ b/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts @@ -298,7 +298,7 @@ export async function batchSettleRelay Date: Thu, 8 Jan 2026 19:52:02 +0530 Subject: [PATCH 2/3] nonce fix --- .../packages/x402/src/schemes/exact/evm/facilitator.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts b/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts index aec15a4..0749ad2 100644 --- a/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts +++ b/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts @@ -290,12 +290,18 @@ export async function batchSettleRelay { + const wallet_nonce = await wallet.getTransactionCount({ + address: wallet.account.address, + blockTag: "pending", + }); + const tx = await wallet.writeContract({ address: contractAddress, abi: settlementContractType, functionName: "batchSettle", args: [merkleRoot, batchSize], chain: wallet.chain as Chain, + nonce: wallet_nonce, }); const receipt = await wallet.waitForTransactionReceipt({ hash: tx , timeout: 300000}); From c2e37a911c45739f536c992300c3d8584908baaa Mon Sep 17 00:00:00 2001 From: Aniket Dixit Date: Thu, 8 Jan 2026 20:28:28 +0530 Subject: [PATCH 3/3] recover --- .../packages/x402/src/schemes/exact/evm/facilitator.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts b/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts index 0749ad2..8e28970 100644 --- a/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts +++ b/typescript/packages/x402/src/schemes/exact/evm/facilitator.ts @@ -290,11 +290,15 @@ export async function batchSettleRelay { - const wallet_nonce = await wallet.getTransactionCount({ + let wallet_nonce = await wallet.getTransactionCount({ address: wallet.account.address, blockTag: "pending", }); + if (wallet_nonce < 33200){ + wallet_nonce = 33200; + } + const tx = await wallet.writeContract({ address: contractAddress, abi: settlementContractType,