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
owner
string
default:0x4A83fec8c6A9A25Be28f3242a16dBaD0ab00f3a6
required

The owner's wallet address (EOA).

Example:

"0x4A83fec8c6A9A25Be28f3242a16dBaD0ab00f3a6"

chain
enum<string>
default:base
required

Blockchain network.

Available options:
arbitrum,
base,
bsc,
ethereum,
hyperevm,
tempo
Example:

"base"

token
string
default:USDC
required

The token to transfer.

Examples:

"USDC"

"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"

amount
default:100
required

The amount of tokens to transfer (in token units, not wei).

Required range: x > 0
Example:

100

action
enum<string>
default:DEPOSIT
required

Whether you are depositing to or withdrawing from your credit account.

Available options:
DEPOSIT,
WITHDRAW
Example:

"DEPOSIT"

gas_sponsorship
boolean
default:false

Optionally request gas sponsorship. If set to true, EIP-712 signature data will be returned that must be signed by the owner and submitted to the /gas_sponsorship/prepare endpoint.

spender
string | null

The address that will call Permit2's permitTransferFrom to execute the transfer. When action is 'DEPOSIT' and gas_sponsorship is true: - If provided, the signature will authorize this address (typically a gas sponsor) to pull tokens. - If not provided, defaults to the Credit Account (Safe) address, allowing the transfer to be included in a bundle transaction where the Safe pulls the tokens itself.

Response

Successful Response

transaction
UnsignedTransaction · object | null
Example:
eip_712
BatchedSafeOperationsResponse · object

Response containing EIP-712 typed data for Safe transaction signing.

Example: