S2S Bridge
Bridge routes
Every direction currently offered, with live limits (null while the provider cannot be reached) and the source-chain contracts a batch on the route calls — the allowlist for verifying a batch before signing.
Bridge routes › Responses
Approximate gas fee for a bridge amount
The gas fee charged on top of amount at the chain’s current gas price, and finalAmount — amount less that fee, about what a wallet holding amount can bridge. No wallet and no provider call, so no bridge fee: quote prices the route. Send maxAmount: true to construct to bridge the largest amount a wallet can afford.
query Parameters
routeIdFrom GET bridge/routes.
amountAmount to deposit, in source-token units.
Approximate gas fee for a bridge amount › Responses
Price a bridge
What amount would deliver, the bridge fee, the gas fee charged on top, and the ETA. Indicative: construct re-quotes.
Price a bridge › Request Body
routeIdFrom GET bridge/routes.
amountAmount to deposit, in source-token units (1.5 is 1.5 USDC). The gas fee is charged on top of it.
userIdPublic uuid of the partner user. Required on a quote because the wallet it is priced for is theirs.
Price a bridge › Responses
Build an unsigned bridge
An EIP-7702 batch on the source chain — approve, the deposit, the gas fee — fully sponsored, plus an intentId and a transferId. The wallet signs bundle.userOpHash and the authorization and posts them to transaction/batch/send before quote.expiresAt.
Build an unsigned bridge › Request Body
routeIdFrom GET bridge/routes.
userIdPublic uuid of the partner user.
amountAmount to deposit, in source-token units (1.5 is 1.5 USDC). The gas fee is charged on top of it. Required unless maxAmount is true.
maxAmountBridge the largest amount the wallet can right now: the balance less the gas fee, within the route’s live limits; amount is then ignored. The amount used is the returned quote.amountIn.
Build an unsigned bridge › Responses
Submit a signed bridge
Pairs the signatures with the intent and submits it. Only an intent built by the bridge construct is accepted here.
Submit a signed bridge › Request Body
intentIdsignatureWallet signature over userOpHash, 0x-prefixed hex.
userIdPublic uuid of the partner user.
Signature over bundle.authorization. Required when the bundle carried one; must be omitted when it was null.
Submit a signed bridge › Responses
A user’s bridge transfers
Newest first. Pass nextCursor back as cursor for the next page.
query Parameters
userIdPublic uuid of the partner user.
statuscursornextCursor of the previous page.
limitA user’s bridge transfers › Responses
One bridge transfer
The same body every bridge_transfer_* callback carries.
path Parameters
transferIdquery Parameters
userIdPublic uuid of the partner user.
