Project Vyn is a Vite + React application backed by Supabase and Stellar/Soroban contract calls.
- Copy
.env.exampleto.env.local. - Fill in the variables described below.
- Install dependencies with
npm install. - Start the app with
npm run dev.
The project uses the following variables:
VITE_SUPABASE_PROJECT_IDVITE_SUPABASE_URLVITE_SUPABASE_PUBLISHABLE_KEYPUBLIC_KEY_ADMINSECRET_KEY_ADMINNFT_CONTRACT_IDVITE_LENDING_CONTRACT_IDPORT
VERCEL_OIDC_TOKEN is created by Vercel for deployment workflows and is not required for normal local development.
- Open your project in the Supabase dashboard.
- Go to Project Settings > General and copy the Project ID for
VITE_SUPABASE_PROJECT_ID. - Go to Project Settings > API.
- Copy the Project URL into
VITE_SUPABASE_URL. - Copy the
anon/ publishable key intoVITE_SUPABASE_PUBLISHABLE_KEY.
- Create or reuse a dedicated Stellar testnet account for backend operations.
- Copy the account secret into
SECRET_KEY_ADMIN. - Derive the matching public key from that account and place it in
PUBLIC_KEY_ADMIN. - Keep the secret out of version control. Use
.env.localonly.
- Deploy the NFT contract to Soroban testnet.
- Copy the contract ID from the deployment output into
NFT_CONTRACT_ID. - Deploy the lending contract to Soroban testnet.
- Copy that contract ID into
VITE_LENDING_CONTRACT_ID. - If you redeploy either contract, update the value in
.env.local.
- Use
PORT=3000if you need a predictable local port. - If your environment already uses another port, you can change it.
- Do not commit
.env.local. - Use
.env.exampleas the reference for required variables. PUBLIC_KEY_ADMINandSECRET_KEY_ADMINmust belong to the same account.- Contract IDs are environment-specific and may change after redeployments.