@ensc/sdk, applies all of them automatically, so the code you write looks like this:
What you can do
Conversions
Issue ENSC against USDC, USDT, CELO or a Naira bank transfer, and redeem it back. ENSC quotes, screens and authorises; your own wallet signs and broadcasts.
Transfers and balances
Build an unsigned ENSC transfer for your wallet to sign, and read balances of ENSC and the pair tokens.
Webhooks
Every conversion and payout outcome reaches your backend as a signed event, without polling.
Security
What the three layers protect, what each credential does, and why your wallet key never leaves your infrastructure.
How ENSC treats your keys
ENSC never holds or asks for a wallet private key. Every on-chain action (a conversion, a transfer) comes back as unsigned calldata,{ from, to, data, value: "0", chainId }, that your own wallet signs and broadcasts. Conversions are additionally gated by a voucher that ENSC signs for the exact wallet, amounts and deadline you asked for.
Where to go next
1
Quickstart
Generate Sandbox keys, install the SDK and run your first conversion on
celo-sepolia.2
Environments
Sandbox and Live: what the key prefix selects and which chain each environment runs on.
3
Going live
The checklist for moving to Live keys, the IP allowlist and the
celo chain.The API reference
The API reference tab of this site is generated from the OpenAPI document for API version2026-09-15, the same schemas the API validates requests with. It has one page per operation: conversions, accounts and banks, transfer, balance, webhook endpoints, events, test data, the read-only credential listings, public keys and health. Each operation shows the @ensc/sdk call that makes it.
The API also serves the same material itself:
- https://api.ensc.prosperavest.com/v1/docs: the live reference.
- https://api.ensc.prosperavest.com/v1/openapi.json: the public OpenAPI 3.1 document, the same file this site’s API reference tab is generated from. Use it to generate types or clients, remembering that every write must still be encrypted and signed.
There is no interactive playground. Every write must be encrypted and signed, and every successful response is sealed to your signing key, so a request typed into a browser cannot succeed. Use the SDK.