Skip to main content
POST
/
v2
/
traditional_investing
/
deposit
Python (SDK)
from compass_api_sdk import CompassAPI


with CompassAPI(
    api_key_auth="<YOUR_API_KEY_HERE>",
) as compass_api:

    res = compass_api.traditional_investing.traditional_investing_deposit(owner="0x01E62835dd7F52173546A325294762143eE4a882", amount="100.0")

    # Handle response
    print(res)
{
  "permit": {
    "domain": {
      "chainId": 8453,
      "name": "USD Coin",
      "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "version": "2"
    },
    "message": {
      "deadline": "1735689600",
      "nonce": "0",
      "owner": "0x4A83b4413CF41C3244027e1590E35a0F48403F0c",
      "spender": "0x6B90E8B4E3E971E74C1A47a3a20976377E2dB4b1",
      "value": "100000000"
    },
    "primaryType": "Permit",
    "types": {
      "EIP712Domain": [
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "version",
          "type": "string"
        },
        {
          "name": "chainId",
          "type": "uint256"
        },
        {
          "name": "verifyingContract",
          "type": "address"
        }
      ],
      "Permit": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        },
        {
          "name": "nonce",
          "type": "uint256"
        },
        {
          "name": "deadline",
          "type": "uint256"
        }
      ]
    }
  },
  "amount_raw": 123,
  "destination": "<string>"
}

Authorizations

x-api-key
string
header
required

Your Compass API Key. Get your key here.

Body

application/json

Request to deposit USDC from Arbitrum into the user's traditional investing account.

owner
string
default:0x01E62835dd7F52173546A325294762143eE4a882
required

The user's EOA address on Arbitrum

amount
string
default:100.0
required

USDC amount to deposit (human-readable, e.g. '1000.0')

Response

Successful Response

EIP-2612 permit data for the user to sign, plus deposit metadata.

After the user signs the permit, the gas sponsor calls batchedDepositWithPermit on the Hyperliquid Bridge2 contract.

permit
PermitTypedDataResponse · object
required

EIP-712 typed data for the USDC permit — user signs this off-chain

Example:
{
"domain": {
"chainId": 8453,
"name": "USD Coin",
"verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"version": "2"
},
"message": {
"deadline": "1735689600",
"nonce": "0",
"owner": "0x4A83b4413CF41C3244027e1590E35a0F48403F0c",
"spender": "0x6B90E8B4E3E971E74C1A47a3a20976377E2dB4b1",
"value": "100000000"
},
"primaryType": "Permit",
"types": {
"EIP712Domain": [
{ "name": "name", "type": "string" },
{ "name": "version", "type": "string" },
{ "name": "chainId", "type": "uint256" },
{
"name": "verifyingContract",
"type": "address"
}
],
"Permit": [
{ "name": "owner", "type": "address" },
{ "name": "spender", "type": "address" },
{ "name": "value", "type": "uint256" },
{ "name": "nonce", "type": "uint256" },
{ "name": "deadline", "type": "uint256" }
]
}
}
amount_raw
integer
required

USDC amount in raw units (6 decimals)

destination
string
required

Traditional investing Safe address on HyperEVM that receives the deposit on HyperCore