Stateless quote for buying $GOLD with USDC. Returns a partially-signed Solana transaction to co-sign and submit.
$GOLD) and returns it partially-signed by GRAIL. The client must co-sign with the partner wallet and the user wallet, then either call Submit Buy or broadcast directly to a Solana RPC.
This endpoint is stateless — no database row is created at quote time. The Trade row is written by the indexer once the transaction confirms on-chain (confirmed or failed).
PARTNER scope key.gu_). User must belong to the authenticated partner, be active, and have kyc_level: "full".100 = 100 USDC). Must be positive.50 (0.5%). Ignored if min_gold_out is provided.$GOLD to receive (human decimal). If supplied, overrides slippage_bps. If omitted, computed as quoted_gold * (10000 - slippage_bps) / 10000.trd_. Use with Submit Buy and Get Trade."buy".| HTTP | error | When |
|---|---|---|
| 400 | invalid_request | Missing or non-positive usdc_amount, missing grail_user_id |
| 400 | kyc_level_insufficient | User’s KYC level is not full |
| 400 | onchain_config_missing | Partner’s on-chain config hasn’t been set up yet. Contact ORO. |
| 400 | wallet_missing | Partner has no registered wallet |
| 403 | partner_mismatch | User belongs to a different partner |
| 403 | user_suspended | User status is suspended |
| 404 | user_not_found | No user with the given grail_user_id |
| 503 | pricing_unavailable | Gold price oracle unreachable or returned stale data |