Skip to main content
POST
Python (SDK)

Authorizations

x-api-key
string
header
required

Your Compass API Key. Get your key here.

Body

application/json

Take a user's signed EIP-2612 USDC permit and build an Arbitrum tx that calls Bridge2.batchedDepositWithPermit.

The customer broadcasts the returned tx from their own sponsor wallet — Compass does not hold gas keys (non-custodial).

owner
string
default:0x06A9aF046187895AcFc7258450B15397CAc67400
required

The user's EOA address on Arbitrum (the permit signer).

Example:

"0x06A9aF046187895AcFc7258450B15397CAc67400"

amount_raw
integer
default:100000000
required

USDC amount in raw 6-decimal units, as returned by /deposit.

Example:

100000000

deadline
integer
default:1747097383
required

Permit deadline (unix seconds), as returned in the permit.message from /deposit.

Example:

1747097383

signature
string
default:0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
required

The user's EIP-2612 permit signature (65-byte hex, 0x-prefixed or raw).

Example:

"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"

sender
string
default:0x4A83b4413CF41C3244027e1590E35a0F48403F0c
required

Sponsor wallet address that will broadcast the returned tx (used for from and nonce).

Example:

"0x4A83b4413CF41C3244027e1590E35a0F48403F0c"

Response

Successful Response

Fully-encoded Arbitrum tx that completes a HL Bridge2 deposit.

Broadcast transaction from the sender wallet supplied in the request. After the receipt confirms, verify a USDC Transfer event was emitted — Bridge2 can silently no-op without reverting.

transaction
UnsignedTransaction · object
required

Unsigned Arbitrum tx calling Bridge2.batchedDepositWithPermit. Sign and broadcast from sender.

Example: