Build unsigned `addSenders` / `removeSenders` calls.
POST/v1/senders/prepare
addSenders is never relayed free. It is billed to the account as a normal relay and carries the
on-chain per-sender fee, which makes mass-creating senders expensive. removeSenders has no fee and
is relayed free: it is how a payer cuts off a compromised sender key. The response members free,
ru and feeMicroUsdc say which case applies; show them instead of working the rule out yourself.
addSenders(max_fee, senders...): the route fills the first argument max_fee with the quoted fee,
so PreparedTransaction.feeMicroUsdc equals contractCall.args[0]. It is the ceiling the user
signs. A higher on-chain fee at execution reverts with ERR_PRICE_ABOVE_MAX, reported as
409 PRICE_ABOVE_MAX. An increase of sender_fee_ru takes effect only 172 800 000 ms after it is set
(SENDER_FEE_NOTICE_MS). GET /v1/pricing does not publish a pending sender_fee_ru: the fee this route quotes in feeMicroUsdc is the one in force when it answers, and it is the ceiling the user signs.
Request
Responses
- 200
- 400
- 422
- 429
Unsigned transaction + assignment + fee preview.
MALFORMED_REQUEST, VARIANTS_NOT_SUPPORTED, RELAYER_SIGNATURE_PRESENT, CHAIN_ID_MISMATCH, TX_VERSION_UNSUPPORTED, TX_OPTIONS_UNSUPPORTED, LEASE_MISSING, CURSOR_INVALID.
Response Headers
Request id, also the instance of a problem document and the log correlation id.
REPLACEMENT_UNDERPRICED, RELAYER_UNKNOWN, RELAYER_SHARD_MISMATCH, GAS_PRICE_OUT_OF_RANGE, GAS_LIMIT_TOO_LOW, GAS_LIMIT_TOO_HIGH, GAS_OVERPROVISIONED, DATA_TOO_LARGE, SENDER_SIGNATURE_INVALID, GUARDIAN_*, INSUFFICIENT_SENDER_BALANCE, SIMULATION_FAILED, UNSUPPORTED_TX_FIELD, TIER_NOT_PURCHASABLE, DEPOSIT_BELOW_MIN, DEPOSIT_ABOVE_MAX, WEBHOOK_URL_NOT_ALLOWED, IDEMPOTENCY_KEY_REUSED.
RATE_LIMITED, GAS_BUDGET_EXCEEDED, HOURLY_BURN_EXCEEDED, TOO_MANY_IN_FLIGHT, QUOTA_EXHAUSTED (the latter without Retry-After; details.reason = CAP_REACHED_PAYG_OFF | PAYG_ESCROW_EMPTY).
Response Headers
Seconds (HTTP standard). Millisecond precision is in details.retryAfterMs of the problem body.
Requests (or RU on the relay path) allowed in the current window.
Remaining units in the current window.
Seconds until the window resets (IETF RateLimit header fields).