SettleMint
Reference

Migrate to the reset v2 API

Update DALP v2 clients for the new REST hierarchy, native SDK, strict decoding, bundler resources, and live API reference.

The coordinated v2 reset replaces the previous client transport and republishes the v2 schemas from the native HTTP declaration. Existing v1 integrations are unaffected. V2 clients must update as one release: change the routes listed below, regenerate OpenAPI clients or upgrade the TypeScript SDK, and remove compatibility settings that accepted invalid responses.

The previous v2 logical surface contained 593 operations: 585 frozen OpenAPI operations and eight bundler methods. The candidate contains 612 REST operations: all 585 mapped operations, the eight bundler methods converted to ordinary REST resources, and 19 separately approved additions. The operation appendix lists the complete partition.

What stays the same

  • The API remains under /api/v2 and the machine-readable contract remains at /api/v2/spec.json.
  • Authentication, API-key scope, organization and chain selection, origin checks, and credentialed CORS policy do not widen for any mapped operation.
  • Response statuses and declared public error membership stay the same for the 585 mapped operations.
  • V1 remains available at /api/v1, with its unversioned alias retained for existing v1 clients.

Regenerate for the schema reset

All 585 mapped operations have a new contract fingerprint because the published schemas now come from the native declaration. Do not copy generated types from an earlier SDK or OpenAPI artifact. Upgrade @settlemint/dalp-sdk, or regenerate your client from the live /api/v2/spec.json, then resolve compile-time differences before deploying.

The TypeScript SDK is promise-based and Effect-free. Flat operation functions live on @settlemint/dalp-sdk/operations; construct a client with createDalpClient({ baseUrl, apiKey, context }). Response validation uses zod v4 transformers on the generated client. Remove these former configuration options and symbols:

  • makeDalpEffectClient and makeDalpApiLayer
  • nested client.token.* Effect methods (call v2Token* operations instead)
  • any fallback that accepted an undecoded response after a validation warning

See the TypeScript SDK page for auth headers, SSR cookies, TanStack factories, and waitForTransaction.

Update feed routes

The feed family moves from the plural /system/feeds prefix to the hierarchical /system/feed prefix. Several command-shaped suffixes also become resource-shaped paths.

Previous routeCandidate route
GET /api/v2/system/feedsGET /api/v2/system/feed
GET /api/v2/system/feeds/adaptersGET /api/v2/system/feed/adapters
POST /api/v2/system/feeds/adapters/createPOST /api/v2/system/feed/adapters
GET /api/v2/system/feeds/capabilitiesGET /api/v2/system/feed/capabilities
GET /api/v2/system/feeds/issuer-signedGET /api/v2/system/feed/issuer-signed
POST /api/v2/system/feeds/issuer-signed/createPOST /api/v2/system/feed/issuer-signed
POST /api/v2/system/feeds/register-externalPOST /api/v2/system/feed/external-registrations
DELETE /api/v2/system/feeds/removeDELETE /api/v2/system/feed/registrations
PUT /api/v2/system/feeds/replacePUT /api/v2/system/feed/registrations
GET /api/v2/system/feeds/resolveGET /api/v2/system/feed/resolutions
GET /api/v2/system/feeds/{feedAddress}GET /api/v2/system/feed/{feedAddress}
GET /api/v2/system/feeds/{feedAddress}/configGET /api/v2/system/feed/{feedAddress}/configuration
GET /api/v2/system/feeds/{feedAddress}/latestGET /api/v2/system/feed/{feedAddress}/latest
GET /api/v2/system/feeds/{feedAddress}/nonce/{issuerIdentity}GET /api/v2/system/feed/{feedAddress}/nonces/{issuerIdentity}
GET /api/v2/system/feeds/{feedAddress}/round/{roundId}GET /api/v2/system/feed/{feedAddress}/rounds/{roundId}
GET /api/v2/system/feeds/{feedAddress}/stalenessGET /api/v2/system/feed/{feedAddress}/staleness
POST /api/v2/system/feeds/{feedAddress}/submitPOST /api/v2/system/feed/{feedAddress}/submissions

Update stored pagination or self links as well as request builders. Links returned by the candidate use the new paths.

Replace bundler envelopes with REST calls

The SDK keeps its eight bundler method names, but the HTTP boundary no longer accepts a method envelope. Direct callers must use the route and HTTP status shown by the live OpenAPI document.

Previous methodCandidate REST route
eth_sendUserOperationPOST /api/v2/bundler/user-operations
eth_estimateUserOperationGasPOST /api/v2/bundler/user-operation-gas-estimates
eth_getUserOperationByHashGET /api/v2/bundler/user-operations/{userOperationHash}
eth_getUserOperationReceiptGET /api/v2/bundler/user-operation-receipts/{userOperationHash}
eth_supportedEntryPointsGET /api/v2/bundler/entry-points
eth_chainIdGET /api/v2/bundler/chain-id
pm_getPaymasterStubDataPOST /api/v2/bundler/paymaster-stub-data
pm_getPaymasterDataPOST /api/v2/bundler/paymaster-data

Supply the API key, organization, and chain context on each request. Read failures from the standard public HTTP error object and branch on its stable id, status, and retryable fields.

The interactive v2 reference moves from /api/v2 to /api/v2/docs. /api/v2/spec.json is unchanged. A separately addressable scalar.js asset no longer exists because the reference embeds its local Scalar bundle.

Update bookmarks, runbooks, and gateway allowlists that name the interactive page. Client generators should continue to use /api/v2/spec.json.

Cutover checklist

  1. Upgrade the SDK or regenerate from the candidate OpenAPI document.
  2. Remove response-validation compatibility settings and fix every strict decode failure.
  3. Replace the 17 feed URLs, including stored or synthesized links.
  4. Replace direct bundler method envelopes with the eight REST resources, or use the upgraded SDK bundler client.
  5. Update the interactive-reference URL and remove any dependency on a standalone Scalar asset.
  6. Exercise authentication, organization and chain selection, origin handling, idempotency, and error recovery in a non-production deployment.
  7. Deploy the client and server changes in the same release window.

The reset is not authorized merely because this guide exists. Use it only for a release whose published notes identify the approved candidate contract.

On this page