Skip to main content

Spending Limits


To make it safer for consumers to make payments online, Suberra introduces spending limits to make transactions safer. A user can set a limit on the amount of money they can spend in a day, week, or month. This limit can be changed at any time. If a user tries to make a payment that would exceed their spending limit, the payment will be declined.

Renewable Allowances (EIP-5827)

We have proposed a standard to make reucrring payments safer for users. Link to EIP: https://eips.ethereum.org/EIPS/eip-5827.

Currently, EIP-20 tokens support allowances, with which token owners can allow a spender to spend a certain amount of tokens on their behalf. However, this is not ideal in circumstances involving recurring payments (e.g. subscriptions, salaries, recurring direct-cost-averaging purchases).

Many existing DApps circumvent this limitation by requesting that users grant a large or unlimited allowance. This presents a security risk as malicious DApps can drain users' accounts up to the allowance granted, and users may not be aware of the implications of granting allowances.

An auto-renewable allowance enables many traditional financial concepts like credit and debit limits. An account owner can specify a spending limit, and limit the amount charged to the account based on an allowance that recovers over time.

Funnel Contracts

Funnels are contracts that enforces renewable token allowances EIP-5827 on existing ERC20 tokens, they help rate-limit the amount of tokens that can be transferred in a given time period.

Each funnel contract is a proxy/wrapper for an underlying ERC20 token, funneling a large unlimited allowance to a limited allowance that regains over time. For example, USDC will have its own funnel contract proxy, while another token like WETH will have its own funnel contract.

We have developed the funnel contracts and it is undergoing contract audits at the moment. Once the audits are completed, we will deploy a few funnel contracts on mainnet that any developer can use.

You can view the implementation contracts here: https://github.com/suberra/funnel-contracts

Testnet Deployment

caution

Funnel contracts are undergoing audits and are not recommended to be used for production. We are actively developing the contracts and may make changes to these anytime.

NetworkContractAddress
GoerliFunnel (impl)0x3B1bbB0756250Bd981EEC8C02801d06ad5F86B75
GoerliFunnelFactory0xDd3e9D430D0681Eaa833DbD6B186E7f031f71837
GoerliUSDC (funnel)0x3d5499808F8082d239a62B5c4876B6ffD23526d5