Skip to main content
POST
/
v1
/
generic
/
allowance
/
set
Python (SDK)
from compass_api_sdk import CompassAPI, models


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

    res = compass_api.universal.generic_allowance_set(token="USDC", contract=models.SetAllowanceRequestContractEnum.AAVE_V3_POOL, amount=1.5, chain=models.SetAllowanceRequestChain.BASE, sender="0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B", estimate_gas=True)

    # Handle response
    print(res)
{
  "transaction": {
    "chainId": "<string>",
    "data": "<string>",
    "from": "<string>",
    "gas": "<string>",
    "to": "<string>",
    "value": "<string>",
    "nonce": "<string>",
    "maxFeePerGas": "<string>",
    "maxPriorityFeePerGas": "<string>"
  }
}

Authorizations

x-api-key
string
header
required

Your Compass API Key. Get your key here.

Body

application/json

Request model for increasing token allowance for a contract.

token
string
required

The symbol or address of the token for which the allowance is set..

Examples:

"USDC"

"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"

contract
required

The name or address of the contract to set spending allowance for.

Available options:
AaveV3Pool,
AerodromeBasicRouter,
AerodromeSlipstreamRouter,
AerodromeSlipstreamNonfungiblePositionManager,
UniswapV3Router,
UniswapV3NFTPositionManager,
Morpho,
SkyDaiUsdsConverter,
SkyUsdcUsdsConverter,
SkyUsdsVault,
PendleRouter,
OdosRouter,
EthenaVault
Examples:

"AaveV3Pool"

amount
required

The amount to set the allowance to.

Required range: x > 0
Examples:

1.5

chain
enum<string>
required
Available options:
arbitrum,
base,
ethereum
sender
string
required

The address of the transaction sender.

Examples:

"0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B"

action_type
string
default:SET_ALLOWANCE
Allowed value: "SET_ALLOWANCE"
estimate_gas
boolean
default:true

Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.

Response

Successful Response

transaction
object
required

The unsigned transaction data. User must sign and broadcast to network.

  • UnsignedTransaction
  • UserOperationResponse