Vault discovery
Read supported Lucida Vaults, configured assets, network settings, and strategy readiness.
Lucida Developer Platform
Access Lucida Vault data, account positions, rates, unsigned transaction construction, LUX data, and event notifications through a production-oriented developer interface.
Developer Overview
Read supported Lucida Vaults, configured assets, network settings, and strategy readiness.
Fetch estimated SOL and USDC APY data with source metadata. APY is informational and not guaranteed.
Construct deposit and withdrawal flows while the user's wallet remains the signer.
Resolve wallet-level Vault shares, principal, redeemable assets, estimated yield, and update status.
Read off-chain LUX participation metrics, referral data, accrual state, and leaderboard records.
Plan for signed event delivery where webhook infrastructure is enabled.
Base URL and Environments
Integrators should use the official Lucida domain, verify the active network in every wallet flow, and confirm program IDs before signing transactions.
| Environment | Base URL | Status |
|---|---|---|
| Production API | https://lucidafi.xyz/api | Official Lucida Mainnet API base URL. |
| Application | https://lucidafi.xyz | Official Lucida web application. |
| Endpoint format | https://lucidafi.xyz/api/{route} | Append the documented route to the production API base URL. |
Authentication and API Keys
Lucida integrations should keep secret keys on trusted servers, separate environments, rotate credentials regularly, and revoke keys immediately after suspected exposure.
Browser-facing Lucida routes support the web application experience.
Administrative strategy and governance routes require the configured admin session.
Never expose secret keys in frontend code. Use separate keys for server, staging, analytics, and automation integrations.
Keep keys, RPC URLs, program IDs, and webhook secrets separated by environment.
API Reference
Use Lucida API responses for Vault data, rates, transaction workflows, positions, LUX, and event-driven integrations. Confirm final transaction state on-chain before persisting user-facing settlement.
Discover Lucida network and Vault settings for the active application environment.
/api/deposit/configNetwork, program ID, Vault addresses, USDC mint, and strategy readiness
/api/navProtocol metadata, emergency-pause flag, strategy governance notes, and fee policy
Read estimated rate and display-price data. Rates are estimates and must not be used as Vault settlement truth.
/api/apyEst. APY for SOL and USDC
/api/priceSOL display price metadata
/api/insights/rates?asset=USDC&range=30dHistorical benchmark-rate data where supported
Prepare strategy-aware transaction payloads and index confirmed wallet-signed transactions. The API does not sign for users or custody private keys.
/api/deposit/strategyPrepare a Lucida deposit transaction payload
/api/withdraw/strategyPrepare a Lucida withdrawal transaction payload
/api/depositVerify and record a confirmed deposit transaction
/api/withdrawVerify and record a confirmed withdrawal transaction
Query wallet positions without mixing SOL and USDC settlement. USD values may appear only as display fields or LUX inputs.
/api/dashboard?wallet={wallet}Portfolio, shares, principal, balances, and activity
/api/withdraw?wallet={wallet}Withdrawable balances and share availability
/api/positions/live?wallet={wallet}Live on-chain position preview where program configuration is available
Read Lucida's off-chain participation record for future eligibility review, including Vault activity, referral data, accrual state, and leaderboard records.
/api/lux?wallet={wallet}Wallet LUX summary, vault breakdown, referral data, and rules
/api/lux/leaderboardLeaderboard records
Receive Lucida event notifications for approved integrations. Integrators should require signed events, timestamp tolerance, idempotency, and replay protection.
deposit.confirmedConfirmed deposit event
withdrawal.confirmedConfirmed withdrawal event
position.updatedPosition accounting event
lux.updatedLUX update event
vault.paused / vault.resumedVault state change events
Error Handling, Rate Limits, and Idempotency
Integrations should treat every failed response as non-final, surface actionable messages to users, and confirm transaction state on-chain before retrying settlement-sensitive operations.
| Code | Meaning |
|---|---|
| INVALID_REQUEST | Malformed request body, missing wallet, unsupported asset, or invalid parameter. |
| UNAUTHORIZED | Authentication is required for protected admin routes. |
| FORBIDDEN | The caller is authenticated but not authorized for the requested action. |
| NOT_FOUND | Requested user, Vault, transaction, or resource was not found. |
| RATE_LIMITED | Rate limit handling is production-dependent and should be checked through response headers where supported. |
| VAULT_PAUSED | Vault operations are unavailable because a pause control is active. |
| INSUFFICIENT_BALANCE | The wallet or Lucida position cannot cover the requested operation. |
| TRANSACTION_SIMULATION_FAILED | The transaction did not simulate successfully. |
| TRANSACTION_EXPIRED | The recent blockhash or transaction payload is stale and must be reconstructed. |
| INTERNAL_ERROR | The server could not complete the request. |
Rate limits may vary by endpoint and API access tier. Limit metadata is returned through response headers where supported. Do not assume a fixed request-per-minute value unless it is published for your access tier.
Use transaction signatures and integration-level request identifiers to avoid duplicate processing. Do not retry settlement-sensitive operations without checking on-chain state first.
Security Guidelines
Lucida transaction construction does not replace wallet approval or on-chain verification. Integrators are responsible for validating payloads before presenting them to users.
Changelog
Use this structure for public API releases, breaking changes, and migration notes.
| Date | API version | Change | Breaking change | Migration notes |
|---|---|---|---|---|
| Official release date | Application routes | Documented Lucida API surface | No | Use official Lucida migration notes when a versioned API changes |
Start with protocol documentation, verify every transaction payload, simulate before signing, and confirm final state on-chain.