Stock transfers your phone already knows how to send

Send, buy, and hold tokenized US equities over plain SMS. No app, no wallet, no data connection, on the network that already reaches every handset on earth.

Get started

On an iPhone, an Android, or a fifteen dollar feature phone? The commands are identical and nothing needs installing. Coverage is the carrier's problem, not yours.

Feature phone

Settling on Robinhood Chain, the L2 built for tokenized equities

Read the protocol docs

Text it in.

Same command, every phone.

Five commands cover the entire product. No menus to learn, no app to install, no seed phrase to write down.

1
2
3
4
5
6
7
8
9
10
11
12
13
> SEND 5 TSLA TO +14155550182 4821

  Sent. 5.0000 TSLA held for +1 415 555 0182.
  They reply CLAIM to take custody.
  Unclaimed transfers return to you in 7 days.

> BAL

  AAPL  0.4658    $99.97
  TSLA  5.0000  $2,205.40
  USDC            $892.31
  ----------------------
  Book          $1,204.88

01 Any number / No wallet required / Settles in seconds

Send stock. Any ticker, any fraction, to any phone number on earth.

Read Send docs

The recipient needs no wallet, no app, and no prior account. A smart account is derived the moment the transfer lands, and they take custody by replying to one text.

send.sms
200 · 1.2s
> SEND 2.5 NVDA TO +447700900123 4821

  Sent. 2.5000 NVDA held for +44 7700 900123.
  Recipient has no wallet. Account is derived
  the moment they reply CLAIM.
  Gas sponsored. They never buy ETH.
View on Github
Per-ticker fill breakdown
Per-transfer audit log

02 USDC settlement / Oracle pricing / Delta neutral

Buy stock. Text a ticker and an amount, and the position opens against your USDC balance.

Every synthetic is minted against a hedged position, so the protocol carries no directional risk. Oracle pricing, USDC collateral, and a fill confirmation back on your screen in under three seconds.

buy.sms
200 · 0.4s
> BUY 100 AAPL 4821

  Filled. 0.4658 AAPL at 214.62 USDC.
  Hedge opened in the same block as the mint.
  USDC balance 892.31.
  Reply BAL for the full book.

Today at 2:14 PM

Filled. Bought 0.4658 AAPL at 214.62 USDC. Your book is now worth 1,204.88. Reply BAL for the breakdown.
BUY 100 AAPL 4821
Sent
View on Github
Hedge opened in the same block as the mint
Oracle pricing per ticker
Fractional sizing down to 0.0001 shares
Exact fill price in the reply

03 Instant exit / Partial fills / No lockup

Selling is live

Sell stock. Close the whole position or part of it, and the USDC is spendable the moment it clears.

Partial fills, no lockups, no withdrawal window. The hedge unwinds in the same transaction that burns your synthetic, so nothing is left open behind you.

sell.sms
201 · 0.4s
> SELL 50% NVDA 4821

  Filled. Sold 1.2500 NVDA at 441.08.
  Realised +182.40. Hedge unwound in the same tx.
  USDC balance 1,443.81.
  Withdraw any time with OUT <address>.

SMStocks Fills

+1 (415) 555-0182

SoldfiveTSLAatfourfouronepointzeroeight.

Partial closes down to a single share
Commands: SELL, SELL ALL, SELL 50%
Realised PnL in the confirmation text
USDC withdrawable to any address

04 Full book / Cost basis / Live marks

Portfolio is live

Check your book. One text returns every position, its cost basis, and what it is worth right now.

Positions, unrealised PnL, and USDC balance in a single reply. Nothing to log into, and no dashboard that stops working the moment the signal drops.

bal.sms
200 · 480ms
> BAL

  AAPL  0.4658  cost 214.62  now 221.28
  TSLA  5.0000  cost 443.00  now 441.08
  NVDA  1.2500  cost 402.10  now 441.08
  ------------------------------------------
  USDC  892.31     Book  $1,204.88

Your book, 1,204.88 USDC

AAPL 0.4658 at 214.62, up 3.1 percent. TSLA 5.0 at 441.08, down 0.4 percent.

Sell a position
Send to a number
9:42 AM
Every open position in one reply
Cost basis and unrealised PnL
Live oracle marks per ticker
USDC balance and open orders

05 No wallet needed / Derived accounts / Self-custody exit

Claim on arrival. A transfer to a number that has never touched crypto still works.

The account exists before its owner knows about it. They reply CLAIM, set a PIN, and the balance is theirs, with the option to move it to a wallet they control at any time.

claim.sms
connected
  You were sent 5.0000 TSLA by +1 415 555 0182.
  Reply CLAIM to take custody. No app needed.

> CLAIM 7729

  Done. 5.0000 TSLA is yours.
  PIN set. Reply OUT <address> to self-custody.
Transfer SMS-49217Claimed
CustodyPhone, exportable
View on Github
Smart accounts derived per phone number
Gas sponsored, recipient never buys ETH
Export to a self-custodied wallet any time
Free to claim while the network is in preview

We are traders who got tired of needing a browser to close a position.

Spending limits, SIM-swap delays, and a PIN on every command that moves value.

202 Accepted: { "id": "em_01kove1gv2hs72p4rq94zmt" }
202 Accepted: { "id": "em_01k50rmp0fe5kbyt8rah4ja" }
202 Accepted: { "id": "em_01km947y1ofmto7ilsfudgv" }
202 Accepted: { "id": "em_01k3eho76xg32xg32tk7idg" }
202 Accepted: { "id": "em_01kkju9g76dgb6psfupkna1" }
202 Accepted: { "id": "em_01k1o7qlcfexojyhwvqxw7i" }

Spending limits. Cap what a single text is allowed to move. Anything above the ceiling needs a second confirmation from the same handset.

POST /webhooks/smstocks
15:42:19200voice.completed91ms
15:42:16200sms.failed128ms
15:42:13500email.delivered42ms
15:42:10200whatsapp.read55ms
15:42:07200voice.completed91ms
15:42:04200sms.failed128ms

SIM-swap defence. A carrier change freezes withdrawals for twenty four hours while transfers keep working. The window belongs to you, not to whoever took the number.

PIN on every move. Nothing leaves your balance without a four digit code appended to the command. Sender ID on its own is never enough, because sender ID is trivial to fake.

Five commands.

One phone number.

SEND, BUY, SELL, BAL, and CLAIM, all parsed by the same grammar. Learn it once and you never open an app again.

Auth. Your number is the identity and your PIN is the signature. Rotate the PIN by text. Lose the handset and a recovery contact restores the account, never the balance.

Idempotency. Every command carries an implicit nonce. A duplicate text comes back flagged and free, so a flaky carrier retry never doubles your position.

Errors. One reply format. A failed command tells you the reason in plain words and prints the exact text that would have worked.

Receipts. Every state change lands as a text: filled, transferred, claimed, rejected. Your inbox is the audit log, and it survives with no data connection at all.

History. Text HIST for your last ten actions, or HIST 30 for the last month. Stable order, never renumbered underneath you.

Rate limits. A ceiling per hour and per day, visible before you hit it. Text LIMIT and the reply tells you what is left instead of making you find out.

Blocklists. Block a number and it can no longer send to you. Reported spam is filtered automatically, the list is editable by text, and every entry is reversible.

Your positions, actually reachable.

Live oracle marks, hedge health, and settlement latency, on every ticker and every route. No guesswork.

Of the world's phones can run SMStocks today, smartphone or not.

100%

Countries reachable over plain SMS, with no data connection required.

190+

Median settlement on Robinhood Chain, from text sent to position onchain.

2 sec

Start with one channel.
Add the others when you're ready.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Using iPhone, Feature phone, or Android? Copy a setup prompt and your agent installs the SMStocks CLI and skills for you. Pick yours:

Feature phone