Core concepts
The interfaces, environments, and conventions you build against.
SDP has two interfaces over the same API:
- Dashboard: the browser UI. Sign in with email, Google, or GitHub.
- REST API: programmatic access for backend integrations. Requests authenticate with an API key in the
Authorizationheader.
Both call the same API, and each route requires the same action whoever calls it. A signed-in member holds actions through their organization role; an API key holds the grants you give it. Some routes are for signed-in members only, such as managing API keys, members, and the organization, or setting up a custody provider. An API key is refused them.
Build against the API for automation and integrations. Use the dashboard to set up your organization, inspect state, and run one-off operations.
Environments
An environment belongs to the project, not to individual requests. Every tenant resource and API key belongs to a project and inherits its environment.
| Environment | Network |
|---|---|
sandbox | devnet |
production | mainnet-beta |
A key's format doesn't name its environment; the project it belongs to does.
Both environments expose the same route shapes. Build and test against your sandbox project, then move to production with a production project's API key. Go to mainnet covers requesting access and setting up your production wallets and API key.
Response conventions
Every successful response wraps its payload in a data envelope with request metadata:
Errors return a machine-readable code alongside a human-readable message:
Include the requestId when you report an issue. It links your request to SDP's traces.
Execution model
For a custody operation, SDP builds the transaction, signs it with the configured custody wallet, and submits it.
Read next
- Authentication covers project keys and access checks.
- API keys covers grants and wallet scope.
- Idempotency covers safe retries.
- API conventions covers errors, pagination, limits, and versioning.