📃Integration contract
Learn more about your integration contract along with the choice of receipt tokens available to you.
Introduction
The integration contract will be deployed by Kiln, but then owned and operated by the integrator. This provides integrators with complete control over the user experience and the staking product being distributed to their end users.
What can be configured in the contract?
Integrators can do the following:
Token definition
Users receive a receipt token representing their staked position. Integrators must decide on the token type upfront (soulbound or liquid), as it cannot be set or changed later. Kiln deploys the correct integration contract based on this initial decision.
Token attributes
Integrators can customise the below token attributes. Both attributes will be displayed on Etherscan and ERC20/ERC1155 compatible interfaces:
token symbol: e.g. cbETH, cdcETH, psETH
token name: e.g. Pooled Staked ETH, Coinbase Wallet ETH
Token types
Integrators need to choose the token type they wish to include in the staking product being offered to their end users.
Below is a comparison and summary of token types, highlighting differences in integration approaches, capabilities, and end-user experiences.
NOTE: Commonly, start with Native20 (non-transferrable tokens). Consider an optional upgrade to Liquid20 later; connect with us for details on the upgrade path and associated considerations.
Feature | Native20 | Liquid20A | Liquid20C | Native1155 | Liquid1155 |
---|---|---|---|---|---|
Stake any amount | ✅ | ✅ | ✅ | ✅ | ✅ |
Commission taken onchain | ✅ | ✅ | ✅ | ✅ | ✅ |
Multi commission recipients | ✅ | ✅ | ✅ | ✅ | ✅ |
Users chooses pool | ❌ | ❌ | ❌ | ✅ | ✅ |
Integrator chooses pool (sets % distribution across pools) | ✅ | ✅ | ✅ | ❌ | ❌ |
Transfers | ❌ | ✅ | ✅ | ❌ | ✅ |
NOTES | aToken | cToken | ERC1555 compliant |
Native20
contract expose the exact same view methods as
Liquid20C
without the
transfer
andapprove
methods. It looks like a token, but cannot behave like one.
Liquid20A
an
ERC20
rebase token.the quantity of tokens held in the users wallet will increase each time rewards are distributed. Rebase tokens maintain a fixed exchange rate but the quantity of tokens issued increases to reflect earned rewards.
Liquid20C
standard
ERC20
tokenThe quantity of tokens held in the users wallet do not change, however their value increases each time rewards are distributed.
Contract Parameters
20 type Configuration
Parameter | Description | |
---|---|---|
admin | address | Admin wallet address |
pools | address[] | List of pool addresses |
poolFees | uint256[] | List of fee for each pool in basis points |
poolPercentages | uint256[] | Share of new stake to go to each pool, in basis points, must add up to 10 000 |
commissionRecipients | address[] | List of address of commission beneficiaries |
commissionDistribution | uint256[] | Share of each beneficiary, in basis points, must add up to 10 000 |
name | string | ERC-20 style display name |
symbol | string | ERC-20 style display symbol |
1155 type Configuration
Parameter | Description | |
---|---|---|
admin | address | Admin wallet address |
pools | address[] | List of pool addresses |
poolFees | uint256[] | List of fee for each pool in basis points |
commissionRecipients | address[] | List of address of commission beneficiaries |
commissionDistribution | uint256[] | Share of each beneficiary, in basis points, must add up to 10 000 |
baseUri | string | Uri from which to pull the metadata |
name | string | ERC-20 style display name |
symbol | string | ERC-20 style display symbol |
Last updated