Ownly

Own Assets
On Repeat

Pick a stock token, set an amount and a rhythm. Ownly buys it on schedule and sends it straight to your wallet on Robinhood Chain.

Open the app
Uniswap settlement. Chainlink priced. Your keys.
Recurring ownership

You pick.
It buys.
You own.

Choose a stock token, an amount and how often. Every buy settles onchain and lands in your wallet.

$0Spent on buys
0Buys executed
$0Scheduled per week
0Plans live
$OWNLY
Soon
Price appears once $OWNLY trades
Keeper
standing by

Buys run automatically when they come due.

$0

bought through plans so far

Top assetsAll assets
$0Scheduled weekly
Last buysExplorer

Buys appear here as plans run.

Most plannedAll assets
Tokens delivered
USDG converted to stock tokens
$0
Assets live
0
Plans created
0
Scheduled weekly
$0
Most planned
Stock tokens
AssetPriceShare of plansPlansWeeklyStatus
Plans
#PlanSizeEach buyRhythmNext buyBoughtStatus

New plan

Create a plan

Two signatures: allow USDG, then create the plan with your first deposit.

USDG
How often
Your local time
Maximum distance from the Chainlink price
USDG
Leave empty to use the connected wallet.
Each buy
Estimated tokens per buy
Schedule
Total if every buy runs

Onchain contracts

What runs your plans

Ownly plans
Not published yet
Owner
Not published yet
Funding asset
Swap router
Chain ID
Every buy

Checked onchain

  • Tokens go only to the recipient saved in the plan
  • Minimum received is set from the Chainlink price and your tolerance
  • Prices older than the allowed age are refused
  • Spends exactly the amount per buy, from your balance only
  • Late buys move to the next slot, never bought in a burst
  • The caller passes a plan number and nothing else
Owner powers

What the owner can do

  • Enable a stock token with its feed and swap route
  • Pause new plans and buys
  • Set how old a price may be, between 1 hour and 7 days

And cannot

  • Move or withdraw your USDG
  • Change any existing plan
  • Redirect purchased tokens

How it works

Buying a little every week is the simplest way to build a position, and the easiest habit to forget. Ownly turns it into a rule that lives onchain on Robinhood Chain, so it keeps running without you.

Note

Your plan is enforced by a smart contract. Ownly cannot move your USDG or send your tokens anywhere else. You withdraw whenever you want.

The 60 second version
  1. Deposit USDGFund your Ownly balance. Unspent USDG stays yours and is withdrawable at any time.
  2. Create a planAsset, amount per buy, rhythm, number of buys, price tolerance and recipient.
  3. Buys run on timeWhen a buy is due, the keeper or anyone else triggers it. The contract swaps through Uniswap.
  4. Tokens land in your walletEach buy sends stock tokens directly to the recipient in the plan.

Plans

A plan stores the asset, the USDG amount per buy, the interval (weekly, every two weeks or every 30 days), the first buy time, the number of buys or no limit, a price tolerance of up to 10% and the recipient. Only the wallet that created a plan can pause, resume or cancel it.

Execution

Contracts cannot wake themselves up, so a due buy is triggered by a transaction to execute(planId). The Ownly keeper sends it automatically and anyone else may too, including you with Buy now. The caller passes only the plan number, so the route, amount, minimum and recipient all come from the contract.

A late buy schedules the next one for the following slot in the original rhythm. Missed slots are skipped rather than bought together.

Price protection

Every stock token has a Chainlink price feed. Before each swap the contract reads it, refuses it if it is too old, and computes the fewest tokens the buy must return given your tolerance. Uniswap and a final balance check both enforce that minimum. USDG is valued at one US dollar.

Funds

Your Ownly balance is USDG deposited and not yet spent. It is shared by all your plans. A buy runs only if the balance covers it; otherwise it waits.

Contracts

Addresses, owner and the full list of onchain checks are on the Proof page.

FAQ

Does Ownly hold my stock tokens? No. Each buy sends them straight to your recipient.

Can the keeper pick a bad price? No. It cannot pass any price or route, and a fill below the minimum reverts.

What if liquidity is thin? The buy fails, your USDG stays in your balance and it can be retried while due.

Do I need $OWNLY? No. Plans use USDG only.

Risks

Smart contract bugs, oracle failure, thin liquidity, network outages and issuer restrictions can all affect buys. Stock tokens are debt securities issued by Robinhood Assets (Jersey) Limited that track a share price and do not give shareholder rights. Nothing here is investment, legal or tax advice.

$OWNLY
Soon
Price appears once $OWNLY trades
Token

Ownly

Ticker
$OWNLY
Network
Robinhood Chain
Contract
Not published yet

You do not need $OWNLY to create a plan. Always check the address in your wallet before signing.

Owner setup

Launch checklist

  1. Connect the wallet that will own the contract
  2. Deploy the Ownly plans contract
  3. Enable at least one stock token
  4. Paste the new config.json into GitHub
  5. Turn on the keeper

Everything on this page happens in your browser and wallet. Nothing needs to be installed.

Step 2

Deploy the contract

Deploys OwnlyPlans on Robinhood Chain with USDG as the funding asset and Uniswap SwapRouter02 for swaps. The connected wallet becomes the owner. Costs a small amount of ETH for gas.

Contract in use
None yet
Owner

Step 3

Enable stock tokens

Token and Chainlink feed addresses come from Robinhood and Chainlink. Find route checks Uniswap for a USDG pool, directly or through WETH, and test quotes 10 USDG against the Chainlink price. Only enable tokens where the quote is close to the price.

AssetTokenChainlinkBest routeQuote vs priceStatus

Step 4

Update config.json

Copy this and replace the whole contents of config.json in your GitHub repo. Vercel redeploys and the Create page goes live.

Step 5

Keeper

The keeper sends due buys. The repo includes a GitHub Actions workflow that checks every 10 minutes for free. Add a secret called KEEPER_PRIVATE_KEY in GitHub with a fresh wallet holding a little ETH.

Owner controls

Connect a wallet