General Background

What is Loop?

Loop automates crypto payments. Our smart contracts and tooling make it simple to automate and manage recurring transactions in web3.

How does Loop work?

Loop works similarly to traditional processors but uses a smart contract layer to process transactions on chain. Loop ingests requests to bill or pay a wallet and then processes those requests after checking that all validation and security parameters are met. Loop allows users to set and manage an allowance for on-chain payment automations. Read more here to learn about how Loop provides trusted and flexible payments.

Who pays for gas fees

Users pay for gas to authorize the contract and cancel subscriptions. Aside from these initial and ending contract interactions, the user never pays gas for each payment; the bot network that processes payments on-chain pays for gas.

Which ERC-20s do you support?

We support any ERC-20 that has a price feed on ChainLink. We plan to add other Oracles to expand this list.

By default, the contract is deployed to accept WBTC, WETH, USDT, USDC, DAI, WMATIC, and MATIC. If you want to accept additional tokens, you can provide Loop with the addresses of additional tokens, and we’ll include them at contract deployment.

Companies can restrict which tokens are accepted at the item level. For example, a company could specify that for the "Developer Plan" only USDC and WETH are accepted but for the "Enterprise plan" only WBTC is accepted.

What networks does Loop support?

Polygon, Arbitrum, Ethereum mainnet, BNB Smart Chain are supported, as well as Goerli (Ethereum testnet) and Chapel (bnb testnet) for non-production testing. Please reach out to us if you'd like us to add support for new networks.

Can the contract take all the crypto in a user's wallet?

Like all dApps, the contract can only ever interact with the authorized amount. That means even in the worst-case scenario of a hack, only the authorized amount is ever at risk. Companies can configure the allowance amount suggested at authorization. We suggest companies choose a number that makes sense for their business, i.e. an amount equal to a 12-month subscription, the total loan amount, etc.

The killer feature of web3 is that the user is always in control. The allowance amount can be increased or decreased at any time by the user holding the wallet, including at initial authorization. The user can manage their token allowance for Loop, or any other dApp, using a front-end like revoke.cash.

Can customers cancel?

Yes! Customers can cancel at any time. Continued access to the end product will depend on each company's internal configurations. Review this page that explains how the cancelations are handled.

What if a wallet does not have enough funds and/or the ERC-20 allowance is too low?

If a wallet doesn't have a sufficient balance and/or the allowance is too low to cover the cost of the automated transaction, the transaction will not be processed. This is because a smart keeper will skip over the transaction rather than send a transaction the keeper knows will fail.

Customers will receive an email reminder 3 days before their bill is due. The reminder email will notify the end user if her wallet has sufficient funds and a high enough allowance. If the wallet has insufficient funds or allowance, we will send another reminder email 24 hours and 6 hours before the payment is due. If the customer misses a payment, there is a retry payment where the transaction will be attempted again. You can read more about retry periods here.

Are there refunds?

One of the critical benefits of crypto is that it removes the risk of fraudulent chargebacks. Since all on-chain transactions are immutable, there are no refunds within the system; however, companies can always decide to send refunds directly from their own wallets to end customers.

Can a user change what wallet they use to pay?

Yes, however, the user will need to provide authorization with the new wallet. Users can do this by using the checkout page or modal.

Companies will get a webhook letting them know of the new wallet signing up. It is up to the company to keep track of which user this wallet is associated with and ensuring the original wallet - and its associated billings - are canceled and new billing requests are sent with this new wallet address.

Can customers change what token they use to pay?

It is possible to enable customers to change the token in which they pay before their next payment. This requires 2 steps to update:

1) Customer provides a token allowance via the checkout page or modal for the new token the customer desires to pay in.

2) If the company has pre-sent bills, they will need to be updated with the new token. If not, then the company can simply send the next bill with the new token.

Why would a company choose to collect customer email addresses during checkout?

Companies choose if they would like to require an email address. Providing an email allows customers to receive receipts, reminder emails when a payment is due, and cancellation notifications; it ultimately leads to more successful payments and a better experience.

In addition, email addresses can then be used to link the wallet to a person to grant access to your end product for those users who have paid.

Where are the email addresses stored?

We store emails on our secure off-chain infrastructure. Email addresses of those who have subscribed are provided to the company via webhooks.


How is this different from a service like Coinbase Commerce or Request Network?

These services are best suited for one-off payments whereas Loop can be utilized for both recurring transactions as well as one-time payments. Take a look at the table below to see how Loop compares to other services.

Additionally, Loop's integrations with 3rd party subscription management systems and the auto-invoicing feature make the management of subscriptions for companies and platforms much easier than other crypto payments solutions.

Why would a Company want to use Loop's integrations with 3rd party subscription management plaforms (Stripe and Chargebee)?

We have found that many larger companies already use a subscription management system, like Chargebee or Stripe, to manage subscriptions. As these companies face customer demand to accept crypto payments in addition to web2 payments, they are looking for seamless ways to integrate crypto payments into their existing payment flows.

We have launched integrations with the two most popular subscription management platforms, Stripe and Chargebee, supporting central subscription management on those platforms. We pull subscriptions and invoices into Loop from the 3rd party system, and automatically process the payments for pay-with-crypto subscriptions. The invoices are then programmatically marked as paid in the 3rd party system.

This offers advantages over other potential setups for these customers because it eliminates the need to manage subscriptions in 2 different systems depending on the end customer’s chosen method of payment.

Why would a Company want to use auto-invoicing vs. manual invoicing?

For most subscription business cases, auto-invoicing, where Loop automatically generates invoices for subscriptions based on the frequency and amount of the subscription, is the best choice. Auto-invoicing allows companies to not be concerned with generating an invoice for their customers on a regular basis.

However, Loop also optionally allows auto-invoicing to be turned off, which can be the better choice for Companies that need control over the amount or the timing of each invoice they send to their customers.

How is Loop different than streaming?

Streaming is a super cool idea, but it is solving a different problem. Streaming allows for “pay as you go” - not automated transactions. In fact, to pay as you go, you have to periodically move money from your wallet to an “escrow wallet” to ensure the stream doesn’t run out - there’s nothing automatic about it.

This is a push model; Loop is a pull model. The user permissions our contract to automate actions, and it seamlessly pulls the funds each period.

Another key difference is that Loop supports flexibility in subscription payment models, such as pay-per-use or pay-per-seat. This allows the amount a company bills each period to be modified, which is not possible with streaming. Once a stream is opened, it cannot be modified without opening up a brand new stream, which prevents it from supporting variable rate payment models.

In addition, there is exchange rate risk with streams. Since a stream cannot be modified, the amount being streamed cannot be changed even if the price of a token changes. This could leave a company receiving significantly fewer funds than desired for a service if the price of ETH drops for example over the course of the month.

Finally, streaming is solving a philosophical problem, not a technical one. Companies could refund you for the time you didn’t use the product, or they could cut you a salary check every day. But they don’t for non-technical reasons: tracking MRR, reporting, power dynamics, etc.

Streaming tends not to meet business needs for subscription based payments and, in fact, often introduces new headaches like having to monitor streams and create accounting entries for variable-length subscriptions.

Last updated