Erebuzdocs

Reference

Endpoints, fields, and the transfer status lifecycle.

Every response is { "success": boolean, "data"?: ..., "error"?: string }. Amounts are strings in the token's smallest units unless noted.

POST /api/private-route/quote

Preview a transfer. Nothing is persisted and no deposit address is allocated.

Request:

FieldTypeNotes
sourceChainIdnumberChain the sender deposits from
destChainIdnumberChain the recipient is paid on
amountstringHuman amount, e.g. "100"
tokenSymbolstringSource token, defaults to USDC
destTokenSymbolstringDestination token, defaults to the source

Response data:

FieldTypeNotes
symbol, destSymbolstringSource and destination token symbols; both are USDC in CCTP mode
sourceChainId, destChainId, hubChainIdnumberChain identifiers
amountstringInput, source token units
quotedOutputAmountstringDelivered output, destination token units
feeAmountstringService fee, destination token units
bridgeFeeAmountstringCCTP destination bridge fee, or "0" in Relay mode
privacyFeeAmountstringRailgun unshield fee in CCTP mode, or "0" in Relay mode
amountInUsd, quotedOutputUsd, feeUsd, bridgeFeeUsd, privacyFeeUsdnumber | nullUSD values when priced
etaSecondsnumberRough end-to-end estimate
routestring[]Display hops

POST /api/private-route

Create a transfer. Same request as quote, plus userDestinationAddress (where the recipient is paid on the destination chain).

Response data adds:

FieldTypeNotes
routeIdstringTrack the transfer with this
depositAddressstringSend USDC here (TEE-managed smart account on the source chain)
hubAccountstringSmart account on the privacy hub that receives the bridged funds
hubIsSmartAccountbooleanWhether the hub account is a smart account
statusstringStarts at AWAITING_DEPOSIT

GET /api/private-route/:routeId

Returns the persisted transfer. Read status to drive progress and error if it failed.

GET /api/relay/chains

Lists the chains exposed by the active bridge provider. Returns chainId, name, displayName, and optional logoUrl and vmType. Relay mode returns enabled deposit-address chains; CCTP mode returns configured Circle networks.

GET /api/relay/tokens

Lists supported tokens on a chain. Query: chainId (required), search (optional). Each token has chainId, address, symbol, name, decimals, and logoUrl when available. CCTP mode returns USDC only.

Status lifecycle

StatusMeaning
AWAITING_DEPOSITWaiting for the sender to fund the deposit address
BRIDGING_INBridging USDC to the hub via CCTP
RECEIVED_ON_HUBUSDC arrived at the hub; shielding next
SHIELDEDShielded into Railgun; preparing the payout
UNSHIELD_SENTUnshielded for the outbound bridge
BRIDGING_OUTBridging USDC to the destination chain via CCTP
COMPLETEDDelivered on the destination chain
FAILEDTerminal failure; inspect the persisted error field for the cause

Errors return HTTP 400 for a bad request or unsupported pair, 404 for an unknown routeId, and 500 otherwise, with the reason in error.

On this page