Repeat
Repeat

Time · Acts onchain

Limits how many times this plug can execute within a time interval. The current interval's start is combined with the plug's hash to key a counter in socket storage; the action reverts once the count reaches the limit and otherwise increments it. Intervals are hour, day, week, fortnight, month, quarter, and year. Reach for it to rate-limit a scheduled plug, such as at most one rebalance per day or three purchases per week, so a runaway trigger cannot execute it more often than intended.

Card: Buy $50 WBTC With USDC Once a Week

time
values
math
20actions
  1. 1·Repeat

    This plug is rate limited to run at most once every two weeks, so it can fire only a single time per fortnight.

  2. 2·Get constant

    A named constant WAD equal to 1e18 is loaded for later math involving 18 decimal scaling.

  3. 3·Calculate

    Fifty is multiplied by the WAD constant, scaling the number fifty up to 18 decimals.

  4. 4·Get constant

    The basis-point denominator of 10,000 is loaded as a named constant.

  5. 5·Calculate

    From the scaled fifty in slot 3.0, fifty is subtracted, producing that scaled value minus a plain fifty.

  6. 6·Calculate proportional value

    A proportion is taken: 10,000 basis points of the WAD value, which is the whole of it since 10,000 basis points equals one hundred percent.

  7. 7·Get price

    The latest Chainlink price of BTC in USD is read, normalized to 18 decimals.

  8. 8·Calculate

    Ten is raised to the power of eight, giving the factor for eight decimals.

  9. 9·Multiply then divide

    Multiplying the value from slot 5.0 by the BTC price and dividing by the value in slot 6.7, rounding down, computes a scaled expected amount.

  10. 10·Get token balance

    The socket's own WBTC balance is read before any swap happens.

  11. 11·Get address

    The solver address is held as a named value for use as the transfer destination.

  12. 12·Calculate

    Ten is raised to the power of six, giving the factor for six decimals matching USDC.

  13. 13·Calculate

    Fifty is multiplied by the six-decimal factor, producing fifty USDC in base units.

  14. 14·Transfer tokens

    That fifty USDC is transferred to the balance-holder address referenced from slot 10.0.

  15. 15·Get solution

    The solver takes the transferred tokens, routes them, and the outcome is verified.

  16. 16·Get token balance

    After routing, the socket's WBTC balance is read again.

  17. 17·Calculate

    Subtracting the pre-swap WBTC balance from the post-swap balance yields the WBTC actually received.

  18. 18·Predicate

    A requirement enforces that the WBTC received is greater than or equal to the expected amount from slot 8.0, reverting otherwise.

  19. 19·End block

    The open block is closed here.

  20. 20·Bubble

    The WBTC received amount is surfaced as the output of this plug.

Repeat up to x every
Get constant
Calculate
Get constant
Calculate
Calculate of
Get price of in
Calculate
Calculate times divided by rounded
Get balance of held by
Get
Calculate
Calculate
Transfer to
Get solution
Get balance of held by
Calculate
End block
Bubble
  • Card: Buy $50 WBTC With USDC Once a Week

    time
    values
    math
  • Transfer Token X Times an Hour

    plug
    time
    evm
  • Transfer Token X Times a Fortnight

    plug
    time
    evm
  • Transfer Token Once a Quarter

    plug
    time
    evm
  • Transfer Token Once a Month

    plug
    time
    evm
  • Transfer Token Once a Fortnight

    plug
    time
    evm
  • Transfer Token Once a Day

    plug
    time
    evm
  • Transfer Token Once an Hour

    plug
    time
    evm
  • Transfer Token Once a Year

    plug
    time
    evm
  • Transfer Token X Times a Month

    plug
    time
    evm
  • Transfer Token X Times a Year

    plug
    time
    evm
  • Transfer USDC Once a Year

    plug
    time
    evm
  • Transfer USDC Once a Day

    plug
    time
    evm
  • Transfer USDC Once a Quarter

    plug
    time
    evm
  • Transfer USDC Once a Month

    plug
    time
    evm
  • Transfer USDC Once a Fortnight

    plug
    time
    evm
  • Transfer USDC Once an Hour

    plug
    time
    evm
  • Transfer Token X Times a Quarter

    plug
    time
    evm
  • Transfer Token X Times a Day

    plug
    time
    evm
  • Transfer Token X Times a Week

    plug
    time
    evm
  • Transfer Token Weekly

    plug
    time
    evm
  • Supply Idle Balance Weekly

    time
    evm
    boolean
  • Borrow + Weekly Repayments

    time
    aave
    evm
  • Borrow + Term Repayment Schedule

    time
    database
    boolean