POST /setup to configure how the deposit service handles your deposits. All fields are optional — configure what you need. Each call performs a partial update; omitted fields keep their current value.
All examples below use these shared constants:
Restrict accepted deposits
Define a whitelist of accepted tokens per source chain. Deposits of unlisted tokens are silently ignored. You can also set minimum and maximum deposit amounts per token.
If no whitelist is set, all supported tokens are accepted with no amount restrictions.
Rejected deposits trigger a
deposit-rejected webhook — not bridge-failed — with error code TOKEN-3 (token not allowed), BALANCE-3 (amount above the configured maximum), or BALANCE-4 (amount below the configured minimum).
Set price deviation tolerance
Set the maximum allowed price deviation in basis points. Before bridging a deposit from an EVM chain, the service values the quote at market prices, with stablecoins at $1: what the route delivers, plus the fees the user pays, may fall short of the deposit’s value by at most this much. Deposits that exceed this threshold are rejected with error codeBRIDGE-5.
300 (3%) if not set. Tighten this where you need predictable output, such as stablecoin corridors; loosen it if you see rejections during volatile periods. Deposits worth less than $5, and tokens without a market price, are not checked.
Override the tolerance per token
SetpriceDeviationTokens to give a source token its own tolerance. It replaces maxPriceDeviationBps for deposits of that token from that chain.
Each call replaces every stored override, so send the full set. Only EVM chains (
eip155:) are accepted. HyperCore deposits are bridged from HyperEVM, so key them eip155:999 with the token’s HyperEVM address, not its HyperCore token ID.
Set a minimum deposit value
Set a per-client minimum deposit value in USD, applied across all tokens and source chains. Deposits priced below it are rejected — adeposit-rejected webhook is sent with error code BALANCE-4 and no bridging is attempted.
minDepositUsd is a non-negative number (USD). This is a per-client override; a platform-wide minimum floor also applies and is not client-configurable.
Configure app fees
Setparams.appFees through /setup; these settings apply to the project, not an individual API key. Rates are integer basis points from 0 to 10000 (25 = 0.25%).
0; otherwise the project feeBps applies, or zero if unset. Solana mint identities are case-sensitive. This example exempts Solana mainnet USDC and charges 50 bps (0.5%) for native SOL. USDT and other eligible sources without an override use the 25-bps (0.25%) fallback, subject to collection availability.
Omitted settings keep their current value. Sending tokens replaces the token overrides. Setting only feeBps: 0 clears the fallback but leaves existing overrides intact; send appFees: null to clear both.
Configuring a rate does not activate Solana collection. See Solana deposit app fees for supported routes, previews, and retry behavior.
Clear a configuration field
Each/setup call is a partial update. To explicitly clear a field, use its reset value below:
Put it all together
A single/setup call can configure these project settings at once: