Start here
- Open the authentication and secure setup tutorial and check the venue’s current capabilities.
- Reuse your existing identity. If you need a new one, follow only a registration flow listed as available.
- Complete the tutorial’s browser passkey ceremony yourself. Keep session credentials private.
- Before trading, verify your account’s Canton Party binding is
active. Login alone does not establish it.
Use the API playground
The playground on each API reference page sends real requests. Private routes need a bearer in the playground’s authorization box. To get one in the browser, request an API key for your own account and approve it with your passkey:- In the playground, call
POST /v1/agent-connect/startwith aclientNameof your choice andscopesread, orreadandtrade. It needs no bearer. The answer carriesconnectCode,userCodeandverificationUrl. - Open
verificationUrl, sign in with your passkey, check that the page shows the sameuserCode, and approve. - Call
POST /v1/agent-connect/completewith theconnectCode. After your approval it answersapprovedwithapiKey, exactly once, so copy it then. Before your approval it answersauthorization_pending. After ten minutes the request expires and you start again. - Paste the
apiKeyitself into the playground’s authorization box. It works on account and order routes within the scopes you approved.
- Call
POST /v1/accounts/:accountId/depositswith{ "amount": "1.2345678901" }and anIdempotency-Keyheader. Repeating the request with the same key returns the same deposit. - The amount keeps every digit up to 10 decimals and is never rounded. A non-zero digit past the 10th decimal answers
409withrejectionGuarddeposit_amount_scale_exceeded; zero answersdeposit_amount_invalid, and text that is not a plain decimal answers400invalid_request. - Call
POST /v1/accounts/:accountId/deposits/confirmwithactioninitiateand the deposit’sdepositId. Approve the passkey challenge, then sendactioncompletewith the samedepositId,signingStepowner_deposit_authorization, thechallengeIdentifierand the passkey’sfirstFactor. Confirm again until the deposit isledger_confirmed.
401, the key or session is no longer valid; request a new one.
Identity is not account readiness
The human approves every required DFNS User Action with their passkey. A session bearer
does not replace that approval. Orders, funding and withdrawals are not part of this guide
and require their own authorization and checks. No step here guarantees a successful live flow.
Keep credentials and private identifiers in memory, never in command-line arguments, logs, files or chat.