{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-standard-integration/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"👛 Initiate A Request For A Wallet","llmstxt":{"hide":true}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"-initiate-a-request-for-a-wallet","__idx":0},"children":["👛 Initiate A Request For A Wallet"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For customers that come to you without an existing crypto wallet, you must initiate a wallet creation request after the customer record is created in our system."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your customers bring / connect their own wallets (e.g. MetaMask wallets, etc.), we will classify them as \"External Wallets\". We will explain how to register these in our system in the last section of this page. (Keep in mind that an external wallet will be subject to some of our third party providers KYT checks, these may affect the end user experience depending on aspects like the wallets longevity or exposure to other wallets deemded as risky by KYT compliance standards.)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your customers will keep all the tokens they buy through you in that one wallet."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ℹ️ Currently, we do not support multiple custodial wallets at Tangany for the same customer."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"custodial-wallets","__idx":1},"children":["Custodial Wallets"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"1-submit-the-request","__idx":2},"children":["1) Submit the Request"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you have selected Tangany as the custodian:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send a wallet creation request using"," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["POST Initiate retail wallet:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/external/v1/customers/{customerId}/retail-wallets"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This request requires the"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custody_provider"]}," parameter, which accepts one of the following values:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["\"Tangany\" or 1"]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ℹ️ Important information about custodian ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tangany"]},": If you selected Tangany as the custodian, please note that they only accept residents of the European Union, Iceland, Norway, Switzerland, the United Kingdom, Ukraine and Japan."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The wallet is created on the Polygon blockchain by default. If a different blockchain is required for your operations, contact your Technical Solutions Engineer prior to integration."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ℹ️ If you choose to go with custodial wallets, you will never need to directly interact with the custodian. Every interaction will go through the NYALA API. The custodian is also not involved during the creation of the token."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request Example:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# UAT BASE_URL: https://uat.api.nyala.de\n# Production BASE_URL: https://api.nyala.de\n\n# The {customerId} is 42557ea2-8a55-4599-85b2-2a91f343a08b\n\ncurl -X GET {{BASE_URL}}/api/external/v1/customers/42557ea2-8a55-4599-85b2-2a91f343a08b/retail-wallets \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: HMAC YOUR_API_KEY:GENERATED_SIGNATURE\" \\\n-H \"Content-Length: CALCULATED_CONTENT_LENGTH\" \\\n-d '{\n  \"custodyProvider\": 1\n}'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response Example:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errorMessageCodes\": null,\n  \"errors\": null,\n  \"data\": [\n    {\n      \"id\": \"32d66779-5168-4a32-a0c0-24b42c299832\",\n      \"accountId\": \"42557ea2-8a55-4599-85b2-2a91f343a08b\",\n      \"blockchain\": 14,\n      \"type\": 2,\n      \"status\": 3,\n      \"publicAddress\": null,\n      \"balance\": {\n        \"nativeBalance\": { \"free\": 0.0, \"locked\": 0.0 },\n        \"nativeFreeDecimalBalanceString\": \"0.0\",\n        \"nativeLockedDecimalBalanceString\": \"0.0\"\n      },\n      \"created\": \"2026-01-28T14:36:55Z\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"2-await-wallet-request-approval","__idx":3},"children":["2) Await wallet request approval"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your request is then  processed by your chosen custody provider."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["For Tangany"]},": Approval is automated and typically takes a few seconds, provided the customer's KYC data is compliant."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3-retrieve-the-wallet-address","__idx":4},"children":["3) Retrieve the Wallet Address"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once the wallet request is approved, retrieve the customer's public address using the function"," ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GET Retail wallet details:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/external/v1/customers/{customerId}/retail-wallets"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request Example:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# UAT BASE_URL: https://uat.api.nyala.de\n# Production BASE_URL: https://api.nyala.de\n\n# The {customerId} is 42557ea2-8a55-4599-85b2-2a91f343a08b\n\ncurl -X GET {{BASE_URL}}/api/external/v1/customers/42557ea2-8a55-4599-85b2-2a91f343a08b/retail-wallets \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: HMAC YOUR_API_KEY:GENERATED_SIGNATURE\" \\\n-H \"Content-Length: 0\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response Example:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errorMessageCodes\": null,\n  \"errors\": null,\n  \"data\": [\n    {\n      \"id\": \"7b70d82e-f1f3-41cd-848a-22fa118f0854\",\n      \"accountId\": \"42557ea2-8a55-4599-85b2-2a91f343a08b\",\n      \"publicAddress\": \"0x72353d150140014EC2e88c6f281c06964589e121\",\n      \"blockchain\": 14,\n      \"type\": 1,\n      \"status\": 1,\n      \"isTangany\": true,\n      \"balance\": {\n        \"nativeBalance\": {\n          \"free\": 0.0,\n          \"locked\": 0.0\n        },\n        \"nativeFreeDecimalBalanceString\": \"0.0\",\n        \"nativeLockedDecimalBalanceString\": \"0.0\",\n        \"nonNativeBalances\": {},\n        \"nonNativeBalancesString\": {}\n      },\n      \"seedLockStatus\": false,\n      \"retailWalletSeedId\": \"00000000-0000-0000-0000-000000000000\",\n      \"created\": \"2026-02-04T07:45:09.0768934Z\",\n      \"transfers\": null\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can then search for this public address on a blockchain explorer (e.g. ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://polygonscan.com/"},"children":["Polygonscan"]},") to verify token balances and transactions."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"non-custodial-external-wallets","__idx":5},"children":["Non-Custodial (External) Wallets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you use external wallets (i.e. your customers bring their own wallets or open wallets through you, not through us):"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The custody provider field can be left blank or set to \"0\"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Import the external wallet into NYALA's system using:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["POST Create external wallet"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/external/v1/retail-wallets/external"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You must specify the blockchain type (e.g., 14 for Polygon) and provide the existing public wallet address."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request Example:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# UAT BASE_URL: https://uat.api.nyala.de\n# Production BASE_URL: https://api.nyala.de\n\n# The {customerId} is 42557ea2-8a55-4599-85b2-2a91f343a08b\n\ncurl -X POST {{BASE_URL}}/api/external/v1/retail-wallets/external \\\n-H \"Content-Type: application/json\" \\\n-H \"Authorization: HMAC YOUR_API_KEY:GENERATED_SIGNATURE\" \\\n-H \"Content-Length: CALCULATED_CONTENT_LENGTH\" \\\n-d '{\n  \"AccountId\": \"42557ea2-8a55-4599-85b2-2a91f343a08b\",\n  \"Blockchain\": 14,\n  \"PublicAddress\": \"0x72353d150140014EC2e88c6f281c06964589e121\",\n  \"Name\": \"External Wallet\"\n}'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter Name"},"children":["Parameter Name"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"style":{"width":"160px"}},"children":["Description"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Expected Values"},"children":["Expected Values"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["blockchain"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Stating on which blockchain the wallet exists. If you send \"NotSet\", it will default to the same blockchain you created the tokens on. You may always send value \"NotSet\"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"NotSet\", \"Polygon\", \"PEAQ\", \"Stellar\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["publicAddress"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Public address of the wallet."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Example: \"0x1234567890abcdef1234567890abcdef12345678\""]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["accountID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["This is the NYALA customer ID you received at Customer creation"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UUID from customer creation"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An optional name for the wallet. It can be left blank."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response Example:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"errorMessageCodes\": null,\n  \"errors\": null,\n  \"data\": {\n    \"id\": \"5ce576ef-ef6d-4d5b-b165-511e2a72fe7c\",\n    \"externalId\": null\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"errors","__idx":6},"children":["Errors"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Case"},"children":["Case"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Error code"},"children":["Error code"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Example response"},"children":["Example response"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invalid customer ID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["500"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"title\": \"An error occurred while processing your request.\",\"status\": 500"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Duplicate request"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["400"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"errorMessageCodes\":[\"DuplicateRetailWalletRequestEntity\"],\"errors\": null,\"data\": null"]}]}]}]}]}]}]},"headings":[{"value":"👛 Initiate A Request For A Wallet","id":"-initiate-a-request-for-a-wallet","depth":1},{"value":"Custodial Wallets","id":"custodial-wallets","depth":2},{"value":"1) Submit the Request","id":"1-submit-the-request","depth":3},{"value":"2) Await wallet request approval","id":"2-await-wallet-request-approval","depth":3},{"value":"3) Retrieve the Wallet Address","id":"3-retrieve-the-wallet-address","depth":3},{"value":"Non-Custodial (External) Wallets","id":"non-custodial-external-wallets","depth":2},{"value":"Errors","id":"errors","depth":3}],"frontmatter":{"seo":{"title":"👛 Initiate A Request For A Wallet"}},"lastModified":"2026-08-03T13:32:43.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/standard-integration/initiate-wallet-request","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}