Create a Project
Before you can use the ONE SDK you need a project on the ONE Dashboard. A project gives you a clientId (public) and a secretKey (private) that the SDK uses to authenticate every API call to the ONE Engine.
1. Register on the Dashboard
- Navigate to dashboard.one23.io.
- Sign up with your email or connect a wallet.
- Verify your email address.
2. Create a New Project
- From the Dashboard home, click New Project.
- Enter a project name (e.g.
my-defi-app). - Select the networks you want to enable (Ethereum, Polygon, Arbitrum, Base, etc.).
- Choose a plan (Free tier includes 10 000 API calls / month).
- Click Create.
Once the project is created the Dashboard will display your credentials.
3. Copy Your Credentials
| Key | Visibility | Usage |
|---|---|---|
clientId | Public -- safe to bundle in client code. | Identifies your project in every SDK call. |
secretKey | Private -- keep on the server or in environment variables only. | Required for server-side Engine calls and admin endpoints. |
You will also need the Engine URL. The default production endpoint is:
https://engine.one23.io
4. Set Environment Variables
Create a .env (or .env.local) file at the root of your project:
.env
ONE_CLIENT_ID=your_client_id
ONE_SECRET_KEY=your_secret_key
ONE_ENGINE_URL=https://engine.one23.io
danger
Never commit ONE_SECRET_KEY to version control. Add .env to your .gitignore file.
Framework-specific notes
| Framework | Env var prefix | Example |
|---|---|---|
| Next.js (client) | NEXT_PUBLIC_ | NEXT_PUBLIC_ONE_CLIENT_ID |
| Vite | VITE_ | VITE_ONE_CLIENT_ID |
| Expo / React Native | Use expo-constants or react-native-config | ONE_CLIENT_ID |
| Node server | No prefix needed | process.env.ONE_CLIENT_ID |
Next.js Example
.env.local
NEXT_PUBLIC_ONE_CLIENT_ID=your_client_id
NEXT_PUBLIC_ONE_ENGINE_URL=https://engine.one23.io
# Server-only -- no NEXT_PUBLIC_ prefix
ONE_SECRET_KEY=your_secret_key
Vite Example
.env
VITE_ONE_CLIENT_ID=your_client_id
VITE_ONE_ENGINE_URL=https://engine.one23.io
# Accessed on the server only, not exposed to the client
ONE_SECRET_KEY=your_secret_key
5. Verify Your Setup
A quick sanity check you can run from any environment:
verify.ts
import { OneEngineClient } from "@one_deploy/sdk/services";
const engine = new OneEngineClient({
baseUrl: process.env.ONE_ENGINE_URL!,
clientId: process.env.ONE_CLIENT_ID!,
secretKey: process.env.ONE_SECRET_KEY!,
});
async function verify() {
const status = await engine.getProjectInfo();
console.log("Project:", status.name);
console.log("Networks:", status.networks.join(", "));
console.log("Plan:", status.plan);
}
verify();
If you see your project name printed, you are ready to move on.
Next Steps
- Installation -- add
@one_deploy/sdkto your project.