Execution API
The Execution API turns a ticker and an amount into an executable quote and an unsigned transaction. Liquidity comes from Uniswap v3 pools on Robinhood Chain, quoted against USDG.
StockKit is non-custodial: it never holds keys, signs, or submits transactions. You sign with your own wallet.
Get a quote
Section titled “Get a quote”curl "https://api.stockkit.dev/v1/quote?symbol=NVDA&side=buy&amount=100&denom=usd"Parameters:
- symbol (required): asset ticker
- side:
buyorsell(defaultbuy) - amount (required): positive number
- denom:
usd(amount is USD size) ortoken(amount is token quantity); defaultusd
The API probes all fee tiers and returns the best executable route:
{ "symbol": "NVDA", "side": "buy", "mode": "exactIn", "feeTier": 500, "usdAmount": "100.000000", "tokenAmount": "0.432324841419642912", "effectivePricePerToken": "231.307550", "gasEstimate": "111339", "venue": "uniswap-v3", "pair": "TOKEN/USDG"}Returns 422 no_liquidity when no pool can fill the trade.
Build a trade
Section titled “Build a trade”curl -X POST https://api.stockkit.dev/v1/trade/build \ -H "content-type: application/json" \ -d '{ "symbol": "NVDA", "side": "buy", "amount": "100", "denom": "usd", "recipient": "0xYourWalletAddress", "slippageBps": 50 }'Body fields: symbol, side, amount, denom as above, plus:
- recipient (required): the wallet that signs and receives the output
- slippageBps: max slippage in basis points, 1 to 5000 (default 50)
Response:
{ "chainId": 4663, "quote": { "feeTier": 500, "usdAmount": "100.000000", "tokenAmount": "0.432..." }, "slippageBps": 50, "deadline": 1788621105, "steps": [ { "description": "Approve SwapRouter02 to spend 100 of 0x5fc5...", "to": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168", "data": "0x095ea7b3...", "value": "0" }, { "description": "Swap via Uniswap v3 0.05% pool", "to": "0xcaf681a66d020601342297493863e78c959e5cb2", "data": "0x04e45aaf...", "value": "0" } ]}The approval step appears only when the recipient’s current allowance is too
low. Slippage bounds are encoded into the swap calldata (amountOutMinimum or
amountInMaximum). Submit the steps in order from the recipient wallet.
