Buy tokenized stocks with USDC
stocks_buyFree. Invest USDC into your vault from $1 (USDC 6 decimals: "1000000" = $1). Easiest: set usePermit=true with owner, sign the returned typedData off-chain (free), then call again with permitDeadline + permitSignature to get ONE deposit transaction. Without a permit you get two transactions (approve, then deposit). Returns an UNSIGNED transaction {to, data, value, chainId} on Base; nothing happens until you sign it with your own wallet and broadcast it. Liquid never holds keys or funds.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| usdc | Yes | USDC to invest, 6 decimals, minimum "1000000" ($1). | |
| owner | No | Your wallet address (required with usePermit). | |
| vault | Yes | Your vault address. | |
| minShares | No | Optional slippage floor: minimum shares to receive. | |
| usePermit | No | true = return an EIP-2612 permit to sign first (no approve transaction). | |
| permitDeadline | No | Deadline from the permit you signed (second call). | |
| permitSignature | No | Your signature of the permit typedData (second call). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Contract to call | |
| data | No | Calldata, sign and broadcast as-is | |
| mode | No | permit: sign typedData first | |
| next | No | What to do next | |
| after | No | What to do after it confirms | |
| steps | No | When two transactions are needed (approve, then deposit), sign and send them in order | |
| value | No | Native value, always 0 | |
| chainId | No | Chain id (8453 = Base) | |
| typedData | No | EIP-712 permit to sign off-chain (free, no gas) | |
| attribution | No | ERC-8021 builder attribution suffix info |