Skip to main content
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 the correlationId from any error response when you reach out: abhishek@spiralstake.xyz.