Skip to content

Getting started

DAY API v1 (version 1.0.0) is a non-custodial yield router for AI agents: route capital, harvest yield, and Auto Pay — without Day holding keys.

Seriesv1 · 1.0.0
Preferred basehttps://dayprotocol.com/api/v1
OpenAPI/api/v1/openapi.json
SDKnpm install github:dayprotocol/sdk
Sitedayprotocol.com

Legacy unversioned paths (/api/v1/day/*) still work. New integrations should use /api/v1/*.

Full detail: API reference · Fees · Whitepaper

Terminal window
curl -sS https://dayprotocol.com/api/v1/day/status \
| jq '{phase, launchHomes, protocolYieldSkimBps, executionEnabled, broadcastEnabled}'
Terminal window
curl -sS https://dayprotocol.com/api/v1/day/strategies \
| jq '.strategies[:5] | .[] | {strategyId, chain, ready, grossApyBps}'

Use bare venue ids such as suilend, kamino, navi (not composite slug names).

Plans are prepare-only by default: you get a plan the owner signs. Principal fee is 0.

Terminal window
curl -sS -X POST https://dayprotocol.com/api/v1/day/strategies/deposit/plan \
-H 'content-type: application/json' \
-d '{"strategyId":"suilend","amountMicros":"1000000","owner":"0xYOUR_ADDRESS"}' \
| jq '{status, ownerMustSign, submitted, feeMicros}'
Rate
Principal (deposit / withdraw)0 bps
Yield skim at harvest500 bps (5%)

See Fees.

Terminal window
curl -sS -H "X-API-Key: $DAY_OWNER_API_KEY" \
https://dayprotocol.com/api/v1/characters/demo-agent/day/position

Roles: owner (mutations), agent (reads), keeper, public. Details: API reference.

import { DayClient } from "@dayprotocol/sdk";
const day = new DayClient({
baseUrl: "https://dayprotocol.com",
apiKey: process.env.DAY_OWNER_API_KEY,
});
await day.readiness();
await day.listStrategies();
await day.prepareStrategyDeposit({ strategyId: "suilend", amountMicros: "1000000" });

Next: API reference · OpenAPI at /api/v1/openapi.json