Get solution
Get solution

Plug · Acts onchain

Hands tokens already transferred to the solver over for routing, then verifies the outcome. The action opens a block. The solver's route settles inside it, and the steps between this and its End block are the acceptance checks: read balances, compare against your targets, and require the outcome you signed for. The transaction only completes when every check passes. Reach for it when the swap action's fixed shape does not fit, such as multi-token inputs or custom acceptance logic, and you want the solver's execution bounded by your own reads.

Takes nothing — it reads the caller's own position.

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
  • Card: Buy an 18 Dec Token With X% of USDC

    plug
    evm
    math
  • Card: Sell X% of an 18 Dec Token for USDC

    plug
    evm
    math
  • Card: Sell 18 Dec Token for USDC

    plug
    chainlink
    math
  • Card: Sell 8 Dec Token for USDC

    plug
    chainlink
    math
  • Card: Buy 8 Dec Token With USDC

    plug
    chainlink
    values
  • Card: Buy 18 Dec Token With USDC

    plug
    chainlink
    values
  • Card: Sell 10% of ETH for USDC

    evm
    math
    chainlink
  • Card: Buy ETH With 10% of USDC

    evm
    math
    chainlink
  • Card: Sell $25 ETH for USDC

    values
    math
    chainlink
  • Card: Buy $25 ETH With USDC

    values
    math
    chainlink
  • Rebalance Holdings to Target

    plug
    values
    evm
  • Swap at Floor

    plug
    evm
    values
  • Swap

    plug
    values
    evm
  • Exit Morpho at Epoch End

    pendle
    time
    boolean
  • Aave: Wind or Unwind Position

    plug
    boolean
    aave
  • Wind

    plug
    aave
    evm
  • Unwind

    plug
    aave
    evm