Documentation Index
Fetch the complete documentation index at: https://docs.hubra.app/llms.txt
Use this file to discover all available pages before exploring further.
strategy and kind:
| Strategy | deactivate | instant | slow |
|---|---|---|---|
sol-native-stake | StakeProgram.deactivate (epoch-bounded ~2.5d) | Sanctum depositStake (active stake → SOL immediately) | — |
sol-liquid-stake | — | Sanctum swap raSOL → SOL via routed liquidity | Sanctum withdrawStake (raSOL → native stake account, then standard epoch deactivation) |
usdc-earn | — | Voltr direct-withdraw (no cooldown, no fee) | — |
transaction is base64 unsigned bytes. Sign and broadcast via POST /api/v1/broadcast.
Request
| Field | Type | Required | Description |
|---|---|---|---|
strategy | string | yes | One of sol-native-stake, sol-liquid-stake, usdc-earn. |
wallet | string | yes | Solana wallet pubkey. |
kind | "deactivate" | "instant" | "slow" | yes | The unstake mode. See the matrix above for valid combinations. |
amount | string | conditional | Required except for usdc-earn with isWithdrawAll: true. |
stakeAccount | string | conditional | Required for all sol-native-stake calls. The active stake account returned by your earlier /stake call. |
isWithdrawAll | boolean | optional | Valid only for usdc-earn. When true, withdraws the full vault position regardless of amount. |
Response shapes
The response shape mirrors/stake: transaction (base64 unsigned), hubra_token (required at /broadcast), plus route metadata.
Sanctum-routed kinds
Forsol-native-stake instant, sol-liquid-stake instant, and sol-liquid-stake slow:
sanctumKind varies by route:
| Strategy + kind | sanctumKind |
|---|---|
sol-liquid-stake instant | token |
sol-liquid-stake slow | withdrawStake |
sol-native-stake instant | depositStake |
hubra_token, sanctumKind, and sanctum_order to /broadcast.
Voltr-routed (usdc-earn instant)
route: "rpc".
Plain native deactivate (sol-native-stake deactivate)
route: "rpc". After the deactivation epoch passes, call POST /api/v1/withdraw to close the stake account and pull SOL back.
Examples
Errors
| Status | Slug | When |
|---|---|---|
400 | invalid_request | Missing fields, invalid kind for the strategy, or stakeAccount missing for sol-native-stake. |
404 | not_found | Unknown strategy key. |
502 | upstream_error | Sanctum / Voltr could not build the transaction. |
503 | service_unavailable | Strategy is announced but not live. |
See also
POST /quote
Preview the output before unstaking.
POST /withdraw
Complete a native deactivate.
POST /broadcast
Submit the signed transaction.