Skip to main content
POST
Prepare an integrator fee claim
Alpha Preview — Endpoints and response shape may change without notice.
POST /api/2/bridge/integrator-fees/{address}/claim prices a USDC payout from the fee wallet’s balance and returns the message to sign. Nothing is reserved yet: the balance is only debited when you submit the signature.

Path parameter

Request body

Response

  • networkFeeUsd — what the payout transaction costs on chainId, at live gas (plus the USDC account rent on Solana when the recipient has none). It is deducted from what is sent: you receive amountUsd − networkFeeUsd.
  • receive — the exact USDC amount sent, human and raw.
  • expiresAt — the claim can be signed and submitted for 24 hours, enough for a multisig to gather its signatures.

Signing

Sign message exactly as returned, with the fee wallet:
  • EVM wallet (signatureKind: "eip191") — personal_sign, e.g. walletClient.signMessage({ account, message }) in viem. Submit the 0x… hex.
  • Safe or other contract wallet — sign message as an off-chain message (EIP-1271) and submit the combined signature once enough owners have signed. It is checked with isValidSignature on chainId, or on Base (evm:8453) when the payout is on Solana, so the Safe must be deployed on that chain.
  • Solana wallet (signatureKind: "ed25519") — signMessage over the UTF-8 bytes of message. Submit the 64-byte signature base58-encoded.

Errors

Errors return HTTP 400 with a message:

Path Parameters

address
string
required

The fee wallet whose balance is claimed. It is also the signer.

Body

application/json
chainId
string
required

Where the USDC is paid, an EVM bridge chain (e.g. evm:8453) or solana:solana. Not HyperLiquid.

recipient
string

Who receives the USDC, in that chain's address format. Defaults to the fee wallet.

amountUsd
number

USD taken from the balance. Defaults to the whole available balance.

Response

The priced claim and the message to sign.

data
object
required