Skip to main content

Monaco Protocol SDK v1.0.88

Withdrawals finish sooner: the SDK checks for a withdrawal’s merkle proof every 500 ms instead of every 5 seconds. A resting GTC order past its expiration can no longer fill before the engine retires it. A change to the copy trading skip limit now applies to existing follows. @0xmonaco/contracts adds the SweeperFactory CCTP fast-lane fee cap. Action items: none. Pass pollIntervalMs if you need the old 5-second interval.

Changed

Faster withdrawal proof polling

sdk.vault.withdraw and sdk.vault.retryWithdrawal now poll GET /api/v1/withdrawals/{index} every 500 ms by default while the withdrawal’s merkle proof is not ready, down from 5000 ms. The proof usually lands a few seconds after the withdrawal starts, so the old interval added up to 5 seconds to every withdrawal. Pass WithdrawalRetryOptions.pollIntervalMs to keep a different interval. timeoutMs (default 300000) is unchanged. See Vault.

Added

CCTP fast-lane fee cap on SweeperFactory

@0xmonaco/contracts: SWEEPER_FACTORY_ABI gains the cctpFastFeeCapBps() view, the owner-only setCctpFastFeeCapBps(capBps) setter and the CctpFastFeeCapUpdated(previousCapBps, newCapBps) event. A positive cap opts a remote chain’s CCTP sweeps into Circle’s fast lane, and Circle’s fee comes off the minted amount on the hub. Each burn’s fee bound is the cap’s share of the burned amount, raised to the messenger’s on-chain minimum fee where the messenger enforces one, so the cap is not an absolute ceiling. A burn whose fee would exceed its bound falls back to the standard lane rather than failing. The default 0 keeps the standard lane, which carries no fee unless the messenger enforces a minimum. A cap of 100% or more reverts with InvalidFeeCap. The SWEEPER_ABI is unchanged.

Fixed

Expired GTC orders never fill

A resting GTC order whose expiration had passed, the expirationDate you set or 90 days after placement, stayed fillable until the engine’s periodic expiry sweep, up to about an hour late. Now a taker walks past it to deeper liquidity, and the order is retired as EXPIRED with the same OrderExpired event and reasons as before. See Time in Force.

Copy trading skip limit applies to existing follows

When the platform’s copy trading skip limit changes, every follow is checked against the new limit. A follow whose consecutiveSkips streak is already at or over a lowered limit turns CLOSE_ONLY. A follow that was CLOSE_ONLY only because of the skip limit returns to ACTIVE when a raised limit is above its streak. The streak itself is not reset. Previously existing follows kept their old status. See Copy Trading.

Upgrade

No code change is required.