402tools402 docs
docs · live

Settlement

A single cron runs daily at 00:00 UTC and pushes every seller's accumulated USDC (minus the take rate) to their wallet on-chain. No holding period beyond the day. No off-chain refund mechanism.

#The cron

| Field | Value | |-------------------|--------------------------------------------------------------------| | Schedule | Once per day at 00:00 UTC | | Source wallet | Marketplace recipient (per chain — see Chains) | | Destination | Your seller_wallet as registered | | Asset | USDC (native on each chain — Circle-issued) | | Settlement chain | Same chain the buyer paid on (cross-chain bridge in V2) | | Net amount | gross − (gross × take_rate) where take_rate is 0.03 or 0.04 |

#Gas

tools402 absorbs the gas cost of every settlement transfer. You receive the full net amount in your wallet without paying for the on-chain transfer. Estimated cost to the marketplace : ~$0.005 per Base transfer, projected ~$750/month at 5 000 active sellers.

#Dust threshold

If your daily net is under $1 USDC, the settlement is deferred to the next day. The amount carries forward until the cumulative balance crosses $1. Then the full carry-over is sent in one transfer.

Why : a $0.001 settlement transfer costs the marketplace ~$0.005 in gas to send. Sending dust would burn more in gas than the dust is worth. Aggregation amortises gas across multiple days.

The carry-over balance is queryable :

bash
curl 'https://api.tools402.dev/v1/_seller/<your-wallet>/balance'
# → { "pending_atomic": 750, "pending_usdc": "0.00075", "next_settlement_in": "8h 12m" }

#In-flight payments

Between the cron runs at 00:00 UTC, buyer payments accumulate on the marketplace recipient wallet (not on yours). They become spendable on the next settlement.

If you delete your endpoint or get suspended between payments and settlement, your accumulated balance still ships at the next 00:00 UTC. No revenue is lost. Suspension only prevents new buyer calls from landing — it does not freeze the queue.

#What happens if your wallet is wrong

The settlement script transfers to the address stored in the sellers table. If that wallet is wrong (private key lost, typo, etc.), the USDC lands at an address you don't control.

There is no recovery path. The transfer is on-chain, final, no off-chain mechanism. Triple-check your wallet during onboarding. The .tools402-seller.pk file is your only proof of ownership.

#Reading the on-chain history

Every settlement is a standard USDC transfer on the chosen chain. You can audit your historical settlements on the relevant block explorer :

Or via the marketplace audit endpoint :

bash
curl 'https://api.tools402.dev/v1/_seller/<your-wallet>/settlements'
# → [{ "tx_hash": "0x…", "amount_atomic": 12830, "settled_at": 1779200000 }, …]