Session authorization

A Session is the limit you give the engine — not handing your wallet to the platform.

Spot swap

How quotes are produced

The frontend gets the current quote from the Uniswap Quoter. Quotes are valid for 8–12 seconds; when stale, the button becomes "Refresh quote". On-chain, the locked minimum output (minAmountOut) in the order is the hard protection.

Slippage and minimum output

Min output = estimated output − protocol fee, then discounted by slippage. If the price moves beyond the slippage at execution, the whole transaction fails — it never fills badly.

Protocol fee and Gas

The spot swap protocol fee is 0.05%, deducted from the output — the visible "slice you don't receive". Gas is always ETH.

A failure never "partially fills badly"

Execution is atomic: validation + swap + fee deduction + accounting happen in one transaction. If any step fails, the whole thing reverts and funds return to your wallet.

Conditional orders

Limit

Executes when the price is reached. Buy fills when the reference price ≤ trigger, sell fills when reference price ≥ trigger, with a 5bps buffer against wick spikes. At execution, if the price has drifted more than 50bps, the contract refuses.

Time-based

Executes at the set time at the then-current market price (still protected by slippage). Earliest 5 minutes after creation, latest 30 days.

Expiry voids the order

If it hasn't triggered in time, it voids automatically. Expiry for a limit order: the price or the latest time, whichever comes first.

How to cancel

Orders in "Awaiting trigger" status on the order list can be cancelled; you only pay Gas. After triggering, cancellation may be too late — the on-chain final state wins.

What is a Keeper (user edition)

A Keeper is a bot that submits your already-existing order when its condition is met: it doesn't change the price, the direction, or where your funds go. You can also click execute yourself — see What is a Keeper.

Session field meanings

FieldMeaning
ownerOwner of the Session (your wallet)
allowedTokens[]Tokens the engine is allowed to use
maxSpendTotal amount the engine may use before expiry (USDG-equivalent)
expiryExpiry time, max 14 days, no permanent option
maxSlippageBpsSlippage cap, max 500 bps (5%)
allowedAdapters[]Whitelisted protocols (v1: Uniswap only)
maxOrdersPerDayMax orders per day
revokedWhether it has been revoked
UI copy: "You are authorizing the engine to use at most X USDG before expiry, only through whitelisted protocols. It becomes void on expiry or when you click revoke."

Recommended parameters

  • Max amount: 1.2× your plan for this use; never unlimited
  • Validity: 7 days (default)
  • Slippage: 50 bps (0.5%)
  • Daily orders: 20

Revocation and expiry

Revoke any time from Settings or the top-bar summary strip. After revocation: unfilled conditional orders stop executing; filled ones cannot be unwound. On expiry the Session automatically becomes void — equivalent to revocation.

Common misconceptions (unlimited, permanent authorization)

  • Misconception: Session = custody. It isn't. Funds stay in your wallet the whole time.
  • Misconception: unlimited is fine since you can always revoke. The limit is a second line of defense; always set a cap.
  • Misconception: the platform will turn it off for me. Revocation is your own action; don't assume someone else will do it.

Portfolio and records

Where balances come from

Only whitelisted token balances are shown, taken from on-chain wallet state.

Export CSV

The Activity page supports CSV export: time, hash, In/Out, actual slippage, fees.

When it doesn't match the explorer

Trust the block explorer. If the indexer lags, the list shows the sync height; when in doubt, compare the hash on both sides.

Independent protocol. Not affiliated with Robinhood Markets, Inc. Content is not investment advice.