SDK
There is no published Surfil SDK package yet, and this page won't pretend one exists. For almost everything you don't need one - the CLI is the on-device control surface, and the edge API is a small, versioned REST surface you can call directly.
Use the API directly
The public endpoints are versioned REST over HTTPS. A device-token call looks like any other bearer request:
curl https://api.surfil.com/v1/entitlement \
-H "Authorization: Bearer $SURFIL_DEVICE_TOKEN"Requests that mutate state take an idempotency key so retries are safe by contract. See the errors reference for the guarantees behind each status code.
Verifying without any SDK
Signed outputs are the one place you might want library code, and even there you don't need ours: a receipt is a standard Ed25519 signature over canonical bytes, checkable with any Ed25519 library against the published epoch public key. surfil verify does it for you, offline.
- Public keys are published per epoch and offline-vendorable.
- The signature covers canonical measured facts - recompute the hash and check it yourself.