Tokenization of every US Stock โ at the intersection of Blockchain and AI
Investing in U.S. stocks using crypto remains inaccessible for most global users. Current systems are either centralized or geographically restricted, preventing seamless participation from crypto-native users. Furthermore, no system exists that bridges on-chain capital with real-time stock market execution in a decentralized, programmable, and intelligent way There's also a lack of autonomous agents capable of execution of on-chain actions on behalf of users.
Stoxly enables crypto users to purchase tokenized U.S. stocks through a single token model (DSTOCK
), using AVAX on Avalanche Fuji and stablecoin like USDC across multiple chains.
Each userโs stock purchases are recorded in a verifiable on-chain ledger, enabling transparency and ownership without intermediaries. By leveraging Chainlink Functions, Stoxly fetches real-time stock prices and AVAX/USD conversion rates to ensure fair token issuance and redemptions.
An AI agent powered by ElizaOS serves as the user interface, allowing users to chat with their wallet, check holdings, and initiate mint or redeem operationsโall without using a traditional frontend.
-
User chats with the ElizaOS agent:
"Buy 3 shares of AAPL using 100 AVAX" -
Agent calls the mint function of the
dstock
smart contract on Avalanche Fuji. -
Using Chainlink Functions:
- Fetches real-time stock price (e.g., AAPL) in USD using a custom javascript code
- Places an order to buy stock off-chain using the same javascript code (via Alpaca API)
-
Chainlink Price feed
- Fetches AVAX/USD price from Chainlink Price Feed
-
Contract logic:
if (avax_in_usd >= stock_price_usd * quantity) { mint DSTOCK token(s) update totalHoldings[requester][stock] refund excess AVAX }
-
User chats with the agent: "Redeem 2 shares of TSLA"
-
Agent calls the redeem function of the
dstock
smart contract. -
Using Chainlink Functions:
- Fetches real-time stock price in USD using a custom javascript code
- Places an order to sell stock off-chain using the same javascript code (via Alpaca API)
-
Chainlink Price feed
- Uses Chainlink Price Feed for AVAX/USD
-
Contract logic:
if (totalHoldings[requester][stock] >= quantity) { burn DSTOCK token(s) update totalHoldings send back AVAX equivalent to stock_price_usd * quantity }
-
User on a different chain (e.g., Sepolia) wants to mint/redeem a stock using USDC.
-
Agent interacts with Sender Contract on the source chain.
-
Sender Contract sends USDC + metadata (stock, qty, requester) to Avalanche Fuji via Chainlink CCIP.
-
Receiver Contract on Avalanche Fuji forwards data to the DSTOCK contract.
-
dstock contract completes mint/redeem operation as usual.
Component | Link / Address |
---|---|
dstock contract(Fuji) | 0xAcbF2d367407B0cd5E9a70420750C29992C3dB25 |
Sender Contract (Sepolia) | 0x377A2Dd0C48d5023dEf44c9a0E1c982fcA89F397 |
Receiver Contract (Fuji) | 0x4d833669E8D503cFF3E4648d2df41B49241EC08E |