Balancer on Gnosis Chain

Deployments

NameAddress
Vault0xBA12222222228d8Ba445958a75a0704d566BF2C8 (opens in a new tab)
Relayer0x2163c2FcD0940e84B8a68991bF926eDfB0Cd926C (opens in a new tab)
BalancerMinter0xA8920455934Da4D853faac1f94Fe7bEf72943eF1 (opens in a new tab)
BAL0x7eF541E2a22058048904fE5744f9c7E4C57AF717 (opens in a new tab)

Action: deposit

Parameters

NameTypeDescription
targetsstring[] (required)Pool name | Pool bpt | Pool id
tokensstring[] (optional)Token symbol | Token address

For each Balancer pool we allow specifying the deposit targets using any of the following identifiers:

  • BPT symbol (Pool name).
  • BPT address (Pool bpt).
  • Balancer pool ID (Pool id).

TARGET_BPT below refers to the address of BPT (Balancer Pool Token).

TARGET_ID below refers to the Balancer pool ID.

TARGET_GAUGE below refers to the BalancerGaugeDeposit contract address for the target Balancer pool.

TOKEN below refers to the ERC-20 token address of each element given in tokens. If tokens is not specified then the pool tokens of each TARGET are considered.

TOKEN · approve

Approve Vault to spend TOKEN tokens on behalf of the avatar.

  • Contract: TOKEN

  • Function: approve(address,uint256)

    ParameterConstraint
    spenderequal to Vault
    amount-

Vault · joinPool

Deposit TOKEN tokens to the corresponding Balancer pool and receive TARGET_BPT tokens in exchange.

  • Contract: Vault

  • Function: joinPool(bytes32,address,address,(address[],uint256[],bytes,bool)) Ξ allow sending ETH

    ParameterConstraint
    poolIdequal to TARGET_ID
    senderequal to AVATAR
    recipientequal to AVATAR
    request.assets-
    request.maxAmountsIn-
    request.userData-
    request.fromInternalBalance-

Vault · exitPool

Redeem TARGET_BPT tokens to the corresponding Balancer pool and receive TOKEN tokens in exchange.

  • Contract: Vault

  • Function: exitPool(bytes32,address,address,(address[],uint256[],bytes,bool))

    ParameterConstraint
    poolIdequal to TARGET_ID
    senderequal to AVATAR
    recipientequal to AVATAR
    request.assets-
    request.minAmountsOut-
    request.userData-
    request.toInternalBalance-

Action: stake

Parameters:

NameTypeConstraint
targetsstring[] (required)Pool name | Pool bpt | Pool id

For each Balancer pool we allow specifying the stake targets using any of the following identifiers:

  • BPT symbol (Pool name).
  • BPT address (Pool bpt).
  • Balancer pool ID (Pool id).

TARGET_BPT below refers to the address of BPT (Balancer Pool Token).

TARGET_ID below refers to the Balancer pool ID.

TARGET_GAUGE below refers to the BalancerGaugeDeposit contract address for the target Balancer pool.

TARGET_GAUGE · deposit

Stake TARGET_BPT tokens and receive TARGET_GAUGE tokens in exchange.

  • Contract: TARGET_GAUGE

  • Function: deposit(uint256)

    ParameterConstraint
    value-

TARGET_GAUGE · withdraw

Redeem TARGET_GAUGE tokens and receive TARGET_BPT tokens in exchange.

  • Contract: TARGET_GAUGE

  • Function: withdraw(uint256)

    ParameterConstraint
    value-

TARGET_GAUGE · claim_rewards

Claim Pool rewards.

  • Contract: TARGET_GAUGE

  • Function: claim_rewards()

    ParameterConstraint
    N/AN/A

BalancerMinter · mint

Mint BAL rewards for Pool.

  • Contract: BalancerMinter

  • Function: mint(address)

    ParameterConstraint
    gaugeequal to TARGET_GAUGE

Vault · setRelayerApproval

One-time (and persistent) approval of the Relayer as single-point of entry.

  • Contract: Vault

  • Function: setRelayerApproval(address,address,bool)

    ParameterConstraint
    senderequal to AVATAR
    relayerequal to Relayer
    approved-

Relayer · gaugeWithdraw

Redeem TARGET_GAUGE tokens and receive TARGET_BPT tokens in exchange.

  • Contract: Relayer

  • Function: gaugeWithdraw(address,address,address,uint256)

    ParameterConstraint
    gaugeequal to TARGET_GAUGE
    senderequal to AVATAR
    recipientequal to AVATAR
    amount-

Minter · setMinterApproval

One-time (and persistent) approval of the Relayer as single-point of entry.

  • Contract: Minter

  • Function: setMinterApproval(address,bool)

    ParameterConstraint
    minterequal to Relayer
    approval-

Relayer · gaugeClaimRewards

Claim Pool rewards.

  • Contract: Relayer

  • Function: gaugeClaimRewards(address[])

    ParameterConstraint
    gaugesequal to [TARGET_GAUGE]

Relayer · gaugeMint

Mint BAL rewards for Pool.

  • Contract: Relayer

  • Function: gaugeMint(address[],uint256)

    ParameterConstraint
    gaugesequal to [TARGET_GAUGE]
    outputReference-