Exchange your clientId and clientSecret for a clientToken that can be be used in frontend code. clientToken will be unusable after the expiresAt time, which will normally be after 30 min.
To try the request in the mock server on the right, substitute username for clientId and password for clientSecre
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Sardine Payments","colors":{"primary":"#2D29D7","light":"#A09EED","dark":"#2D29D7"},"favicon":"https://mintcdn.com/sardine-payments/xaOaWQltc1g9zE_Z/favicon.svg?fit=max\u0026auto=format\u0026n=xaOaWQltc1g9zE_Z\u0026q=85\u0026s=fed6c9309f39bc0ac5929a9ba82977fa","logo":{"light":"https://mintcdn.com/sardine-payments/xaOaWQltc1g9zE_Z/logo/light.svg?fit=max\u0026auto=format\u0026n=xaOaWQltc1g9zE_Z\u0026q=85\u0026s=0f19e6244a4ae82cd0f46baf0fe1fe76","dark":"https://mintcdn.com/sardine-payments/xaOaWQltc1g9zE_Z/logo/dark.svg?fit=max\u0026auto=format\u0026n=xaOaWQltc1g9zE_Z\u0026q=85\u0026s=50ef9fd772da513ce447cc0ea28a85c6"},"appearance":{"default":"light","strict":null},"background":{"decoration":null,"color":{"light":null,"dark":"#0B0C0E"}},"navbar":{"primary":{"type":"button","label":"Get Started","href":"https://www.sardine.ai/contact"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Security Portal","href":"https://security.sardine.ai","icon":{"name":"shield-halved","style":"light"}},{"anchor":"Contact Us","href":"https://www.sardine.ai/contact","icon":{"name":"envelope","style":"light"}}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sardine-payments","hasAudioNarration":false,"actualSubdomain":"sardine-payments","customDomains":["docs.payments.sardine.ai"],"gitSource":{"type":"github","owner":"sardine-ai","repo":"payment-doc","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a7f5f2ff52eb3400ddd6800","collectionId":"e8cafca8-631a-4c66-910f-2660fbf04056","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a7f5f2ff52eb3400ddd6800"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6a7f5f2ff52eb3400ddd6800:success","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Integration Guides","count":16},{"language":"default","tag":"API Reference (Onramp/Offramp)","count":16},{"language":"default","tag":"API Reference (NFT)","count":15},{"language":"default","tag":"Getting Started","count":11},{"language":"default","tag":"API Reference","count":8},{"language":"default","tag":"Coverage","count":7},{"language":"default","tag":"On/Off Ramps","count":7},{"language":"default","tag":"Payment Method","count":5},{"language":"default","tag":"Identity","count":4},{"language":"default","tag":"Products","count":4}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api_reference/nft/post-client-token","slug":"/api_reference/nft/post-client-token","pageMetadata":{"title":"Post Client Token","description":"Exchange your `clientId` and `clientSecret` for a `clientToken` that can be be used in frontend code. `clientToken` will be unusable after the `expiresAt` time, which will normally be after 30 min. \n\n\nTo try the request in the mock server on the right, substitute username for clientId and password for clientSecre","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml post /auth/client-tokens","href":"/api_reference/nft/post-client-token","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Exchange your \", _jsx(_components.code, {\n children: \"clientId\"\n }), \" and \", _jsx(_components.code, {\n children: \"clientSecret\"\n }), \" for a \", _jsx(_components.code, {\n children: \"clientToken\"\n }), \" that can be be used in frontend code. \", _jsx(_components.code, {\n children: \"clientToken\"\n }), \" will be unusable after the \", _jsx(_components.code, {\n children: \"expiresAt\"\n }), \" time, which will normally be after 30 min.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"To try the request in the mock server on the right, substitute username for clientId and password for clientSecre\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Post Client Token","description":"Exchange your `clientId` and `clientSecret` for a `clientToken` that can be be used in frontend code. `clientToken` will be unusable after the `expiresAt` time, which will normally be after 30 min. \n\n\nTo try the request in the mock server on the right, substitute username for clientId and password for clientSecre","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml post /auth/client-tokens","href":"/api_reference/nft/post-client-token","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Post Client Token","description":"Exchange your `clientId` and `clientSecret` for a `clientToken` that can be be used in frontend code. `clientToken` will be unusable after the `expiresAt` time, which will normally be after 30 min. \n\n\nTo try the request in the mock server on the right, substitute username for clientId and password for clientSecre","operationId":"post-crypto-auth-client_session_token","requestBody":"4c7b5022-bbc5-4554-b058-3af2728e1226","responses":{"200":"db052d84-c5f6-4ae2-8721-7cd0d7f1a61b","400":"ba440732-860a-4421-a1e1-f115f74d0be0"},"security":["78308990-cc6e-47e6-966f-219bc4a92963"],"servers":["b23d4fc4-e69e-45d9-91dc-1df92d00301a","f0e00fe9-58da-458e-aa24-13b8055cb354"],"x-stoplight":{"id":"g1qcpacxbj3g6"},"method":"post","type":"path","path":"/auth/client-tokens","baseUrlOptions":["https://api.sandbox.sardine.ai/v1","https://api.sardine.ai/v1"],"title":"Post Client Token","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"referenceId":{"type":"string","description":"Unique ID for an order","format":"uuid","uniqueKey":"referenceId","typeLabel":"string\u003cuuid>"},"expiresIn":{"type":"number","description":"Time, in seconds, after which this Order will expire","maximum":3600,"examples":[60],"uniqueKey":"expiresIn","typeLabel":"number"},"externalUserId":{"type":"string","description":"A unique ID that represents a user or customer. This can be used if you wish to track orders on a per customer basis","format":"uuid","uniqueKey":"externalUserId","typeLabel":"string\u003cuuid>"},"nft":{"type":"object","required":["name","imageUrl"],"properties":{"name":{"type":"string","description":"Name of NFT","isRequired":true,"uniqueKey":"nft.name","typeLabel":"string"},"imageUrl":{"type":"string","description":"URL where image of the NFT can be retrieved from","format":"uri","isRequired":true,"uniqueKey":"nft.imageUrl","typeLabel":"string\u003curi>"},"price":{"type":"number","description":"Cost of the NFT in `currencyCode`","format":"float","minimum":0,"uniqueKey":"nft.price","typeLabel":"number\u003cfloat>"},"executionType":{"x-stoplight":{"id":"o949rg293xde1"},"enum":["smart_contract"],"type":"string","uniqueKey":"nft.executionType","typeLabel":"enum\u003cstring>"},"network":{"type":"string","x-stoplight":{"id":"8s1vzwgs8ccji"},"example":"polygon","uniqueKey":"nft.network","typeLabel":"string"},"recipientAddress":{"type":"string","x-stoplight":{"id":"a4ic9fhftejq6"},"example":"0x942D5A8BaC9684a3Fc1150b3cBbf931f32bBa514","uniqueKey":"nft.recipientAddress","typeLabel":"string"},"platform":{"x-stoplight":{"id":"r3ksrs2amvgc5"},"enum":["niftyswap","sequence_market","ERC8000",""],"type":"string","uniqueKey":"nft.platform","typeLabel":"enum\u003cstring>"},"contractAddress":{"type":"string","x-stoplight":{"id":"pb6ylyj8k3oz8"},"example":"0x8bb759bb68995343ff1e9d57ac85ff5c5fb79334","uniqueKey":"nft.contractAddress","typeLabel":"string"},"blockchainNftId":{"type":"string","x-stoplight":{"id":"351snwicrti0o"},"uniqueKey":"nft.blockchainNftId","typeLabel":"string"},"quantity":{"type":"integer","description":"Quantity of the good being purchased","uniqueKey":"nft.quantity","typeLabel":"integer"},"currencyCode":{"const":"usd","description":"Fiat currency this NFT is priced in. ","uniqueKey":"nft.currencyCode","typeLabel":"any"}},"uniqueKey":"nft","typeLabel":"object"},"taxRates":{"type":"object","description":"Which contains rates for countries/regions in ISO3166-2 format.","properties":{"US-NY":{"type":"string","description":"countrycode-subdivisions like US-NY. \"US-NY\": 13 means 13% for NY state.","examples":["US-NY = 13"],"uniqueKey":"taxRates.US-NY","typeLabel":"string"},"US":{"type":"string","description":"Countrycode like US. It's percentage, US: 10 means 10% tax for all US","examples":["US = 10"],"uniqueKey":"taxRates.US","typeLabel":"string"},"US-CA":{"type":"string","description":"countrycode-subdivisions like US-CA. \"US-CA\": 20 means 20% for CA state.","examples":["US-CA = 20"],"uniqueKey":"taxRates.US-CA","typeLabel":"string"}},"uniqueKey":"taxRates","typeLabel":"object"},"identityPrefill":{"type":"object","description":"If fields here are passed, they will be pre filled in the Checkout","properties":{"firstName":{"type":"string","description":"First name of customer","uniqueKey":"identityPrefill.firstName","typeLabel":"string"},"lastName":{"type":"string","description":"Last name of customer","uniqueKey":"identityPrefill.lastName","typeLabel":"string"},"dateOfBirth":{"type":"string","description":"Date of birth in YYYY-MM-DD","format":"date","uniqueKey":"identityPrefill.dateOfBirth","typeLabel":"string\u003cdate>"},"emailAddress":{"type":"string","description":"Email address of user","format":"email","uniqueKey":"identityPrefill.emailAddress","typeLabel":"string\u003cemail>"},"phone":{"type":"string","description":"Phone number of user with country code","uniqueKey":"identityPrefill.phone","typeLabel":"string"},"address":{"type":"object","properties":{"street1":{"type":"string","uniqueKey":"identityPrefill.address.street1","typeLabel":"string"},"street2":{"type":"string","uniqueKey":"identityPrefill.address.street2","typeLabel":"string"},"city":{"type":"string","uniqueKey":"identityPrefill.address.city","typeLabel":"string"},"regionCode":{"type":"string","uniqueKey":"identityPrefill.address.regionCode","typeLabel":"string"},"postalCode":{"type":"string","uniqueKey":"identityPrefill.address.postalCode","typeLabel":"string"},"countryCode":{"type":"string","uniqueKey":"identityPrefill.address.countryCode","typeLabel":"string"}},"uniqueKey":"identityPrefill.address","typeLabel":"object"}},"uniqueKey":"identityPrefill","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"example-1":{"title":"example-1","value":{"referenceId":"42eadcb0-4a93-45af-9c8c-d295db5aeb6c","customerId":"adf02ae2-f633-11ec-b939-0242ac120002","nft":{"name":"NFT #1","price":100,"currencyCode":"USD","imageUrl":"https://gateway.nftcompany.io/ipfsQmSAQm4gbhjSeUk7fuYppHd7Z8dfWpBvnFmqFSKqkrUJPM"},"identityPrefill":{"firstName":"John","lastName":"Doe","dateOfBirth":"2000-01-01","emailAddress":"foobar@gmail.com","phone":"+19254485826","address":{"street1":"123 Main st","street2":"","city":"irvine","regionCode":"CA","postalCode":"02747","countryCode":"US"}},"taxRates":{"US":10,"US-CA":20}}},"example-2":{"title":"example-2","value":{"nft":{"name":"The BEST NFT FOR DEMO PURPOSE NEW NFT","price":100,"currencyCode":"CAD","contractAddress":"0x7fC0344254E1663C2eF24e3c063cbec231525C20","imageUrl":"https://gateway.autograph.io/ipfs/QmSAQm4gbhjSeUk7fuYppHd7Z8dfWpBvnFmqFSKqkrUJPM"},"taxRates":{"US":10,"US-CA":20,"US-NY":13}}},"Smart contract execution":{"title":"Smart contract execution","value":{"referenceId":"test-0.24678085734dwedwedwed04dwedfwrferfwedwed6884","expiresIn":3600,"identityPrefill":{"firstName":"fname","lastName":"lname","dateOfBirth":"2000-01-01","emailAddress":"ethan.itovitch@allow.com","phone":"+19923793139","address":{"street1":"123 main st","street2":"","city":"irvine","regionCode":"CA","postalCode":"02747","countryCode":"US"}},"paymentMethodTypeConfig":{"enabled":["us_debit","us_credit","international_debit","international_credit","ach"],"default":"us_debit"},"nft":{"name":"Hot wheels \u003c> Sardine","imageUrl":"https://cdn.shopify.com/s/files/1/0568/1132/3597/files/HWNFT_S4_modular-grid_584x800b.jpg?v=1669157307","network":"polygon","recipientAddress":"0x942D5A8BaC9684a3Fc1150b3cBbf931f32bBa514","platform":"niftyswap","blockchainNftId":"131111","contractAddress":"0x8bb759bb68995343ff1e9d57ac85ff5c5fb79334","executionType":"smart_contract","quantity":1}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"db052d84-c5f6-4ae2-8721-7cd0d7f1a61b":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"clientToken":{"type":"string","description":"Unique token that is used to authenticate the merchant","format":"uuid","uniqueKey":"clientToken","typeLabel":"string\u003cuuid>"},"expiresAt":{"type":"string","description":"Time at which the order will expire","format":"date-time","uniqueKey":"expiresAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"example-1":{"title":"example-1","value":{"clientToken":"8aeae330-9154-4051-ab98-d173ba2bc7f0"}}},"exampleType":"examples"}},"exampleType":"examples"},"ba440732-860a-4421-a1e1-f115f74d0be0":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Set to `false` if exchange is unsuccessful","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Contains message describing what error occured during exchange","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Error":{"title":"Error","value":{"code":"UNAUTHORIZED","message":"Invalid client credentials"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"78308990-cc6e-47e6-966f-219bc4a92963":{"ClientToken":{"type":"http","scheme":"basic","scopes":[]}}},"servers":{"b23d4fc4-e69e-45d9-91dc-1df92d00301a":{"url":"https://api.sandbox.sardine.ai/v1","description":"Sandbox"},"f0e00fe9-58da-458e-aa24-13b8055cb354":{"url":"https://api.sardine.ai/v1","description":"Prod Server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"basic","scopes":[]},"schema":{"title":"Basic Auth","type":"object","description":"Basic authentication header of the form `Basic \u003cencoded-value>`, where `\u003cencoded-value>` is the base64-encoded string `username:password`.","isRequired":true,"properties":{"username":{"type":"string","uniqueKey":"username","isRequired":true,"typeLabel":"string","deprecated":false},"password":{"type":"string","uniqueKey":"password","isRequired":true,"typeLabel":"string","deprecated":false}},"additionalProperties":false,"deprecated":false},"schemeName":"ClientToken","name":"Authorization"}],"title":"ClientToken"}]},"originalFileLocation":"api_reference/nft.yaml"},"subdomain":"sardine-payments","siteName":"Sardine Payments","title":"Post Client Token - Sardine Payments","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"api_reference/nft/post-client-token.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Exchange your clientId and clientSecret for a clientToken that can be be used in frontend code. clientToken will be unusable after the expiresAt time, which will normally be after 30 min. To try the request in the mock server on the right, substitute username for clientId and password for clientSecre\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sardine Payments\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Post Client Token - Sardine Payments\">\u003cmeta data-mint-head property=\"og:description\" content=\"Exchange your clientId and clientSecret for a clientToken that can be be used in frontend code. clientToken will be unusable after the expiresAt time, which will normally be after 30 min. To try the request in the mock server on the right, substitute username for clientId and password for clientSecre\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sardine Payments\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sardine-payments.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Post+Client+Token\u0026amp;description=Exchange+your+%60clientId%60+and+%60clientSecret%60+for+a+%60clientToken%60+that+can+be+be+used+in+frontend+code.+%60clientToken%60+will+be+unusable+after+the+%60expiresAt%60+time%2C\u0026amp;theme=afc8939af6e2d78a57ff9fb2\u0026amp;signature=4af0599650c17fbd60fc8e9fd22831128a9e250c9b3f89142e91748dfc705e3e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Post Client Token - Sardine Payments\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Exchange your clientId and clientSecret for a clientToken that can be be used in frontend code. clientToken will be unusable after the expiresAt time, which will normally be after 30 min. To try the request in the mock server on the right, substitute username for clientId and password for clientSecre\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sardine-payments.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Post+Client+Token\u0026amp;description=Exchange+your+%60clientId%60+and+%60clientSecret%60+for+a+%60clientToken%60+that+can+be+be+used+in+frontend+code.+%60clientToken%60+will+be+unusable+after+the+%60expiresAt%60+time%2C\u0026amp;theme=afc8939af6e2d78a57ff9fb2\u0026amp;signature=4af0599650c17fbd60fc8e9fd22831128a9e250c9b3f89142e91748dfc705e3e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/sardine-payments/cONXdfsFZR7DqgZ5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sardine Payments\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2D29D7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api_reference/nft/post-client-token.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.payments.sardine.ai/#organization\",\"name\":\"Sardine Payments\",\"url\":\"https://docs.payments.sardine.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sardine-payments/xaOaWQltc1g9zE_Z/logo/light.svg?fit=max\u0026auto=format\u0026n=xaOaWQltc1g9zE_Z\u0026q=85\u0026s=0f19e6244a4ae82cd0f46baf0fe1fe76\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.payments.sardine.ai#website\",\"name\":\"Sardine Payments\",\"url\":\"https://docs.payments.sardine.ai\",\"publisher\":{\"@id\":\"https://docs.payments.sardine.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token#webpage\",\"url\":\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token\",\"name\":\"Post Client Token\",\"description\":\"Exchange your clientId and clientSecret for a clientToken that can be be used in frontend code. clientToken will be unusable after the expiresAt time, which will normally be after 30 min. To try the request in the mock server on the right, substitute username for clientId and password for clientSecre\",\"isPartOf\":{\"@id\":\"https://docs.payments.sardine.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sardine Payments\",\"item\":\"https://docs.payments.sardine.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Post Client Token\",\"item\":\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token#apireference\",\"headline\":\"Post Client Token\",\"name\":\"Post Client Token\",\"description\":\"Exchange your clientId and clientSecret for a clientToken that can be be used in frontend code. clientToken will be unusable after the expiresAt time, which will normally be after 30 min. To try the request in the mock server on the right, substitute username for clientId and password for clientSecre\",\"url\":\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token\",\"mainEntityOfPage\":{\"@id\":\"https://docs.payments.sardine.ai/api_reference/nft/post-client-token#webpage\"},\"publisher\":{\"@id\":\"https://docs.payments.sardine.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.payments.sardine.ai#website\"}}]}\u003c/script>","siteName":"Sardine Payments","nav":{"global":{"anchors":[{"anchor":"Security Portal","href":"https://security.sardine.ai","icon":{"name":"shield-halved","style":"light"}},{"anchor":"Contact Us","href":"https://www.sardine.ai/contact","icon":{"name":"envelope","style":"light"}}]},"tabs":[{"tab":"Getting Started","pages":[{"title":"Getting Started","href":"/overview/intro"}]},{"tab":"Integration Guides","pages":[{"title":"Integration Guides","href":"/integration_guides/onboarding_and_testing/client_onboarding"}]},{"tab":"API Reference (Onramp/Offramp)","pages":[{"title":"API Reference (Onramp/Offramp)","href":"/api_reference/onramp/user-onboarding/get-client-token"}]},{"tab":"API Reference (NFT)","groups":[{"group":"API Reference","pages":[{"title":"Post Client Token","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml post /auth/client-tokens","href":"/api_reference/nft/post-client-token"},{"title":"Get Order(s)","description":"Fetch information about an Order once its completed\n\nThe `status` of an Order can be one of the following\n\n`Draft` - This is an open or ongoing order\n\n`Expired`* - The user didn't complete the transaction within the `expiration` time\n\n`Processed`* - The payment has been completed.\n\n`Declined`* - The transacation was declined, due to payment method issues\n\n`Cancelled`* - The transaction did not complete, which could be for a number of reasons, as outlined in the reason codes below. \n\n`Complete`* - The payment is complete and the crypto has been delivered to the user's wallet. A `txHash` will be present to denote successful on chain settlement. \n\n`Refunded` - The User's payment has been refunded to their original payment method\n\n\n### For Smart Contract Integrations\n\nOrders might end up in `Cancelled` state, due to a number of reasons, which Sardine will share through a `reasonCode` parameter as part of an `error` object in the Order. After an Order has been Cancelled, it will move to the `Refunded` state\n\nThe following reason codes might appear\n\n`NETF` - Network Failure\n`PRCC` - Price Change beyond threshold\n`RISD` - Risk Decline\n`NA` - NFT Not Available\n\n\nEvents marked with an * can also be captured via event handlers on the frontend\n\n\n### Fetching Orders\n\nFull list of Orders is obtained by making a call to the endpoint with no filters. \n\n\nYou have multiple options of filtering orders\n\n1. Filtering by `orderId`\nIf a `redirect_url` was passed to the Sardine checkout (e.g. https://crytpoapp.com\"), when then transaction is completed, Sardine will redirect the user to this url with an `order_id` appended i.e. https://cryptoapp.com?order_id=73103-erhed-317313\n\nThis `order_id` can then be used as a filter on this endpoint, this form\nhttps://api.sandbox.sardine.ai/v1/orders/3103-erhed-317313\n\n\n2. Filtering by `referenceId`\nIf a `referenceId` was passed in the call to create the `clientToken` for this call, it can now be used to filter for Orders that were created then. \n\n3. Filtering by `startDate` and `endDate`\nIf `startDate` or `endDate` are passed in YYYY-MM-DD format, the list of Orders will be filtered to those that were created in this range\n\n4. Filtering by `externalUserId`\n","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /orders","href":"/api_reference/nft/get-orders"},{"title":"Get Geocoverage","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /geo-coverage","href":"/api_reference/nft/get-geocoverage"},{"title":"Get fiat currencies","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /fiat-currencies","href":"/api_reference/nft/get-fiat-currencies"},{"title":"Fetch Payout Information","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /payouts/{payout_id}","href":"/api_reference/nft/fetch-payout-information"},{"title":"Create Payout","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml post /payouts","href":"/api_reference/nft/create-payout"},{"title":"Update NFT Status","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /orders/events","href":"/api_reference/nft/update-nft-status"},{"title":"Update Order","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml post /orders/events","href":"/api_reference/nft/update-order"}]},{"group":"Payment Method","pages":[{"title":"Get Bank Account","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /payment-method/ach","href":"/api_reference/nft/payment-method/get-bank-account"},{"title":"Add new Bank Account using aggregator token","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml post /payment-method/ach","href":"/api_reference/nft/payment-method/add-new-bank-account-using-aggregator-token"},{"title":"Delete Bank Account","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml delete /payment-method/ach","href":"/api_reference/nft/payment-method/delete-bank-account"}]},{"group":"Identity","pages":[{"title":"Fetch KYC","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /identityDocuments/verifications/{id}","href":"/api_reference/nft/identity/fetch-kyc"}]},{"group":"Customers","pages":[{"title":"Get Customers","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /customers","href":"/api_reference/nft/customers/get-customers"},{"title":"Post Customer Information","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml post /customers","href":"/api_reference/nft/customers/post-customer-information"}]},{"group":"Banks","pages":[{"title":"Send bank information","deprecated":null,"version":null,"openapi":"/api_reference/nft.yaml get /banks/transactions","href":"/api_reference/nft/banks/send-bank-information"}]}]},{"tab":"API Reference (Identity)","pages":[{"title":"API Reference (Identity)","href":"/api_reference/identity/customer-management/create-customer"}]}]},"title":"Post Client Token - Sardine Payments","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}