1
Key stored server-side
Your API key never reaches a client. All partner calls originate from your backend.
2
Simulate-before-build in your UX
Users see the position preview before they commit. You surface
effectiveLtv and expectedLeverageApy.3
Freshness handling
You rebuild when
meta.expiresAt lapses, and treat a 503 as retryable.4
Error handling
You map the error envelope to your UI —
400 for user-fixable input, 401 for auth, 429/503 for retry.5
Chains
You pass
chainId explicitly (1 or 4663) and handle both if you support Robinhood Chain.6
Rate tier confirmed
Your key’s rate tier matches your expected volume — see Rate limits.
Support
Quote thecorrelationId from any error response when you reach out: abhishek@spiralstake.xyz.