1
Generate Sandbox keys
Credentials are issued by the dashboard, not the SDK. Sign in at app.prosperavest.com, pick Sandbox and open the Credentials tab. Sandbox keys are available once your business profile is complete.Click Generate keys. The dashboard creates your API key, your encryption key and an Ed25519 signing keypair, registers the public half with ENSC, and shows the six values once. Copy them all before closing the dialog; they cannot be shown again.Store them in your secret manager or environment. The full walkthrough, including key types and rotation, is in Generating keys.
2
Install the SDK
fetch and Web Crypto, such as Deno or Bun).Construct one client with the six values. All six are required; the client validates their shape at construction and throws ENSC_VALIDATION_FAILED with the name of the field that is missing or malformed.3
List banks
A read is the simplest way to confirm the credentials work. Bank codes from this list are what a
banks.list() returns the bank directory for your key’s environment; in Sandbox it comes from the sandbox banking network, so no real money is involved.fiat-redeem payout uses later.4
Create a crypto-issue on celo-sepolia
A
crypto-issue sends a pair token (USDC, USDT or CELO) and receives ENSC. Sandbox conversions run on celo-sepolia, so the wallet you name must hold the test pair token on that chain and enough testnet CELO for gas.ENSC never holds a wallet key and never broadcasts. create returns a signed voucher with the calldata your wallet must sign: an optional approvalTransaction and then transaction. The optional web3 helper sends both and returns the hash; you then report the hash back so ENSC can verify the receipt.signer is a raw wallet private key or any viem account (privateKeyToAccount, mnemonicToAccount, toAccount around an HSM, KMS or custody signer, or the JSON-RPC account of a wallet a user connected). It is a separate secret from the ENSC credentials, never touches the ENSC API and is never stored by the SDK; pass it per call. Any EVM signer works with the calldata, and nothing about ENSC requires exporting a private key; see Conversions.5
Verify a webhook
ENSC tells your backend what happened by sending signed events to an https URL you own. Register an endpoint (from the dashboard’s Webhooks tab or with the SDK), then write a handler that verifies the signature over the raw body, answers Retries, ordering, de-duplication and the event catalogue are in Webhooks.
200, and processes afterwards.publicKey is the key map EnscClient.fetchPublicKeys() loads from GET /v1/.well-known/ensc-public-keys.json; the verifier picks the key named by X-ENSC-Key-Id, so a key rotation needs no redeploy. There is no shared secret to store or rotate.Queue a signed test event and read the attempt back. sendTest queues one event in the endpoint’s environment; every active endpoint there that subscribes to the type receives it, and willDeliverToTargetEndpoint says whether the endpoint you named is among them.Next
- Environments: Sandbox versus Live, chains and the sandbox bank rail.
- Going live: the checklist for Live keys, the IP allowlist and the
celochain. - SDKs: the full
@ensc/sdksurface.