Skip to content

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.

Terminal window
curl "https://api.stockkit.dev/v1/quote?symbol=NVDA&side=buy&amount=100&denom=usd"

Parameters:

  • symbol (required): asset ticker
  • side: buy or sell (default buy)
  • amount (required): positive number
  • denom: usd (amount is USD size) or token (amount is token quantity); default usd

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.

Terminal window
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.