# LLM Full
````
# Wert Documentation & Configuration
# Table of Contents
1. [Documentation/_order.yaml](#Documentation-_order-yaml)
2. [Documentation/customisation-package.md](#Documentation-customisation-package-md)
3. [Documentation/data-prefill.md](#Documentation-data-prefill-md)
4. [Documentation/fiat-onramp/_order.yaml](#Documentation-fiat-onramp-_order-yaml)
5. [Documentation/fiat-onramp/extra-object-fiat-onramp.md](#Documentation-fiat-onramp-extra-object-fiat-onramp-md)
6. [Documentation/fiat-onramp/index.md](#Documentation-fiat-onramp-index-md)
7. [Documentation/fiat-onramp/limiting-assets-in-the-widget.md](#Documentation-fiat-onramp-limiting-assets-in-the-widget-md)
8. [Documentation/listerners-object.md](#Documentation-listerners-object-md)
9. [Documentation/nft-checkout/_order.yaml](#Documentation-nft-checkout-_order-yaml)
10. [Documentation/nft-checkout/extra-object-item-checkout.md](#Documentation-nft-checkout-extra-object-item-checkout-md)
11. [Documentation/nft-checkout/generate-signed-data.md](#Documentation-nft-checkout-generate-signed-data-md)
12. [Documentation/nft-checkout/index.md](#Documentation-nft-checkout-index-md)
13. [Documentation/nft-checkout/limiting-fiat-currencies.md](#Documentation-nft-checkout-limiting-fiat-currencies-md)
14. [Documentation/nft-checkout/simplifying-the-ui.md](#Documentation-nft-checkout-simplifying-the-ui-md)
15. [Documentation/widget-display-methods.md](#Documentation-widget-display-methods-md)
16. [Guides/_order.yaml](#Guides-_order-yaml)
17. [Guides/forming-input-data.md](#Guides-forming-input-data-md)
18. [Guides/generating-a-keypair.md](#Guides-generating-a-keypair-md)
19. [Guides/passing-apple-store-review.md](#Guides-passing-apple-store-review-md)
20. [Guides/signing-a-payment-request.md](#Guides-signing-a-payment-request-md)
21. [Guides/token-support.md](#Guides-token-support-md)
22. [Guides/verifying-your-smart-contract.md](#Guides-verifying-your-smart-contract-md)
23. [Introduction/_order.yaml](#Introduction-_order-yaml)
24. [Introduction/integration-steps.md](#Introduction-integration-steps-md)
25. [Introduction/introduction.md](#Introduction-introduction-md)
26. [Introduction/service-availability.md](#Introduction-service-availability-md)
27. [Introduction/supported-coins-and-blockchains.md](#Introduction-supported-coins-and-blockchains-md)
28. [Reference/_order.yaml](#Reference-_order-yaml)
29. [Reference/converter.md](#Reference-converter-md)
30. [Reference/data-api.md](#Reference-data-api-md)
31. [Reference/error-codes.md](#Reference-error-codes-md)
32. [Reference/webhooks.md](#Reference-webhooks-md)
33. [Support and FAQ/_order.yaml](#Support and FAQ-_order-yaml)
34. [Support and FAQ/embed-test.md](#Support and FAQ-embed-test-md)
35. [Support and FAQ/general-faq.md](#Support and FAQ-general-faq-md)
36. [Support and FAQ/smart-contract-faq.md](#Support and FAQ-smart-contract-faq-md)
37. [Testing/_order.yaml](#Testing-_order-yaml)
38. [Testing/going-live.md](#Testing-going-live-md)
39. [Testing/sandbox.md](#Testing-sandbox-md)
40. [_order.yaml](#_order-yaml)
***
### FILE: Documentation/_order.yaml
Type: YAML
ID: Documentation-_order-yaml
--- CONTENT START ---
* fiat-onramp
* nft-checkout
* data-prefill
* listerners-object
* widget-display-methods
* customisation-package
--- CONTENT END ---
***
### FILE: Documentation/customisation-package.md
Type: MD
ID: Documentation-customisation-package-md
--- CONTENT START ---
***
title: Customisation Package
deprecated: false
hidden: false
metadata:
robots: index
-------------
# **WERT — Branding & Customization**
_Available as a paid add-on_
We offer partners the ability to adapt the Wert user experience to their own brand while maintaining full product functionality.
### **What’s included in the customization package**
* **Custom email templates** — modify text and visuals to match your brand identity.
* **Personalized SMS OTP sender** — set your brand name as the sender for one-time passcodes.
* **Branded banking descriptor** — customize the name shown on your customers’ bank statements.
***
### **How it works**
1. **Select your customization options**
* Email templates
* SMS OTP sender name
* Banking descriptor
2. **We share the templates**
You’ll receive editable files where you can make changes to copy and design.
3. **Review & launch**
Once you approve the changes, we’ll implement them and confirm when everything is live.
***
### **What can be customized**
* Logos and brand colors in emails
* Email and notification text
* Sender domain for emails (Wert or custom domain)
* SMS sender name
* Banking descriptor displayed on bank statements
**Mandatory elements**
Each email will include standard Wert legal information as required by regulators.
***
### **Timeline & pricing**
* Pricing — available upon request (paid add-on).
* Implementation time — typically 1 week after receiving all materials.
***
### See it in action
**Emails**
| Property | Data Type | Description | Possible values |
|---|---|---|---|
| full_name | string | The user’s first and last name. | Between 3 and 69 letters. RegExp(/(\w+\s)\w+/) |
| date_of_birth | string | User’s date of birth. | DD/MM/YYYY MM/DD/YYYY (for USA) |
| phone | string | User’s phone number in international format (E. 164 standard). The ‘+’ is optional. | +11014321111 |
| string | User’s email address. | [test@test.com](mailto:test@test.com) | |
| country_of_residence | string | User’s country of residence. | alpha2 code of the country |
| state_of_residence | string | User’s state of residence (for USA). | alpha2 code of USA state |
| Environment | URL | Method |
|---|---|---|
| `Sandbox` | `https://partner-sandbox.wert.io/api/external/hpp/create-session` | `POST` |
| `Production` | `https://partner.wert.io/api/external/hpp/create-session` | `POST` |
| Header Key | Value |
|---|---|
| X-Api-Key | `your-unique-api-key` |
Your API Key carries many privileges, so be sure to keep it secure!
Your API key is provided exclusively by Wert during onboarding. Store this safely in your backend. Never share your key; if you suspect a compromise, contact us immediately to issue a new one.
Note: Sandbox and Production keys are unique to their respective environments and are not interchangeable.simple\_full\_restrict ensures all parameters are locked and cannot be edited by users.
| Property | Required | Description | Data Type | Default value | Possible values |
|---|---|---|---|---|---|
flow\_type |
Yes | Determines widget behaviour. simple: Users choose. simple\_full\_restrict: Partner defined options. | string | simple | simple, simple\_full\_restrict |
user\_id |
No | The User ID for the associated profile | string | - | 01KQWHEJNSY |
commodity |
\* | Default crypto asset selected. | string | BTC | See docs |
commodity\_amount |
\* | Pre-filled crypto amount (ignored if currency\_amount set). | numeric | - | - |
network |
\* | Network for the default asset. | string | bitcoin | See docs |
wallet\_address |
\* | User’s wallet address. Validated based on commodity. | string | - | - |
currency |
\* | Fiat currency (required if currency\_amount used). EUR is not available in sandbox. |
string | - | USD, EUR |
currency\_amount |
\* | Pre-filled fiat amount ($1 min / $30 min for BTC). | numeric | - | - |
| Property | Required | Description | Data Type | Default value | Possible values |
|---|---|---|---|---|---|
partner_id |
Yes | Provided when you register as a partner. | string | - | - |
session_id |
Yes | session_id returned from the API | string | - | - |
origin |
In sandbox | Initializes the module in a sandbox/production environment. | string | https://widget.wert.io | https://sandbox.wert.io |
click_id |
No | A unique identifier created by you. Can be used to help you reconcile the order on your side. | string | click_id | uuid_v4(). Try to avoid using special characters like % or pass them encoded. |
phone |
No | User’s phone number in international format (E.164 standard). The ‘+’ is optional. | string | - | +11014321111 |
redirect_url |
No | Includes a button 'Back to {Partner Name}' (not available in iFrame). Also redirects users from KYC emails. | string | - | https://origin.us/item_id |
support_url |
No | Used for helping users with failed orders. | string | - | https://partner.com/support |
listeners |
No | Used to listen to module events and react to them. | object | - | See the listeners object. |
commodities |
No | Stringified JSON array of objects with commodity and network options. | string | By default, all assets are displayed. | See Limiting assets |
extra |
No | Passing multiple wallet addresses to the widget. | string | - | See Multiple addresses |
payment_method |
No | Pre-selected payment method shown first in the list. | string | card | card, apple-pay, google-pay, sepa |
payment_method_restriction |
No | If true, shows only the method specified in payment_method. |
boolean | false | true, false |
display_currency |
No | ISO currency code to display approximate estimated amounts. | string | - | AUD, SGD, HKD, THB, MYR, VND |
hide_fee_breakdown |
No |
Hides fee details for all payment methods and only the fee value is shown. |
boolean |
false |
true |
| Property | Required | Description | Data Type | Default value | Possible values |
|---|---|---|---|---|---|
country_of_residence |
No | User’s country of residence. | string | - | alpha2 code of the country |
state_of_residence |
No | User’s state of residence (for USA). | string | - | alpha2 code of the state |
date_of_birth |
No | User’s date of birth. | string | - | DD/MM/YYYYMM/DD/YYYY (USA) |
email |
No | User’s email address. | string | - | test@test.com |
full_name |
No | The user’s first and last name. | string | - | min 3, max 69 letters; RegExp(/(\w+\s)\w+/) |
card_country_code |
No | Card billing address alpha2 code of the country | country code.string | - | US |
card_city |
No | Card billing address city. | string | - | Los Angeles |
card_state_code |
No | Card billing address alpha2 state code (For US). | string | - | CA |
card_post_code |
No | Card billing address postal code. | string | - | 12345 |
card_street |
No | Card billing address street. | string | - | Main street 1 |
| Property | Required | Description | Data Type | Default value | Possible values |
|---|---|---|---|---|---|
lang |
No | Language of the widget. | string | en | ** |
skip_init_navigation |
No | By default, the module suggests the nearest purchase route. Setting to true skips this logic. |
boolean | undefined | true |
theme |
No | Module’s theme color. | string | undefined | dark |
brand_color |
No | Custom brand color for primary buttons, tooltips, steppers, tabs, checkboxes, toasts, and pie countdowns. | string | - | #FF0000 |
| Event | Expected data | Description |
|---|---|---|
| close | undefined | It's triggered when the user closes a widget. |
| error | \{ name: String; message: String; } | Widget error message (not payment-related), see [error codes.](https://docs.wert.io/docs/error-codes) |
| loaded | undefined | It indicates the module is loaded with necessary data and ready to receive extra data if needed. This event may duplicate if the user is redirected to their bank's 3-D Secure verification page. |
| payment-status | \{ status: String payment_id: String order_id: String tx_id: String // if available } | Possible statuses: `pending`, `canceled`, `failed`, `success`, `failover`. Events may not be unique for each status. `tx_id` appears in the `pending` status. |
| position | \{ step: String } | Notifies changes in user flow position. const names = \{ account: 'account', accountHistory: 'account-history', accountCard: 'account-card', accountAddress: 'account-address', home: 'home', wallet: 'wallet', login: 'login', onboarding: 'onboarding', card: 'card', verification: 'verification', verificationStatus: 'verification-status', orderReview: 'order-review', orderStatus: 'order-status', warranty: 'warranty', error: 'error', }; |
| rate-update | \{ ticker: String, fee_percent: String, currency_amount: String, fee_amount: String, commodity_amount: String, purchase_amount: String, miner_fee: String, currency_miner_fee: String } | Updates when the widget rate changes. We fix the exchange rate for 30 seconds. |
| Property | Type | Description |
|---|---|---|
| author_image_url | String | The URL of the author's avatar |
| author | String | The name of the author |
| image_url | String | The URL of the item's image. Otherwise, the default image will be shown |
| name | String | The name of the item |
| header | String | Custom text at the top of the widget that is shown instead of Buy \{category} |
| category | String | The category of the item. If `category` and `header` are not provided, the default value will be `Buy Token` |
| Property | Type | Description | Example |
|---|---|---|---|
| address | String | The user’s address that receives the token/NFT will also act as a fallback address if a smart contract can’t be executed. In case of fallback, we will transfer the`commodity_amount` to this address. | 0xbD25e3F08d1302b33fBD678CEF66323CC4190a24 |
| commodity | String | Cryptocurrency which should be sent to the smart contract, see [Supported coins and blockchains](https://docs.wert.io/docs/supported-coins-and-blockchains) | `commodity: 'ETH'` |
| network | String | Network for the cryptocurrency, see [Supported coins and blockchains](https://docs.wert.io/docs/supported-coins-and-blockchains) | `network: 'ethereum'` |
| commodity_amount | Number | Amount of cryptocurrency necessary for executing the given smart contract. The precision is 8 decimal places; please round up, or you will get a 9004 signature error code. | 0.03 (maximum 8 decimal places) |
| sc_address | String | The address of the smart contract. | 0x00000000000000000000000000000 00000000002 |
| sc_input_data | String | Input data used for the smart contract execution in hex format. For Tezos, this must be Michelson code passed as JSON transformed into hex format. See [Forming input data](https://docs.wert.io/docs/forming-input-data). | 0x40c10f1900000000000000000000000 085f584812fc19c69e4dd586f06df93aa7 bdadd4d000000000000000000000000 000000000000000000000000016345 785d8a0000 |
| Property | Required | Description | Data Type | Default value | Possible values |
|---|---|---|---|---|---|
| partner_id | Yes | Provided when you register as a partner. | string |
* |
* |
| origin | In sandbox | Initializes the module in a sandbox/production environment. | string | [https://widget.wert.io](https://widget.wert.io) | [https://sandbox.wert.io](https://sandbox.wert.io) |
| click_id | No | Unique identifier for the order, which helps you track it. | string |
* |
`uuid_v4()` |
| currencies | No | Set currencies to control what appears in the widget; if empty, invalid, or not passed, all supported currencies are shown, and in simple_full_restrict sessions a mismatched currency will result in a ‘Purchase can’t be made’ message.” Example: JSON.stringify(['EUR']) | string | (['USD', 'EUR']) | |
| redirect_url | No | It includes a button _'Back to \{Partner Name}'_ on the widget (not available in iFrame mode). It also redirects users from KYC emails to proceed with payment. | URL string (with protocol) |
* |
[https://origin.us/item_id](https://origin.us/item_id) |
| support_url | No | Full url string (with protocol). This link will be used for helping users with failed orders. | URL string (with protocol) | [https://partner.com/support](https://partner.com/support) | |
| listeners | No | You can use this if you want to listen to some module events and react to them. | object |
* |
See the [listeners object](https://docs.wert.io/docs/listerners-object) |
| payment_method | No | If set, this method will be pre-selected and shown first in the list of available methods. Other methods will still be available unless payment_method_restriction is used. | string | card | card, google-pay, apple-pay, sepa |
| payment_method_restriction | No | If true, the widget will show only the method specified in payment_method (if it’s available). If that method isn’t available, the widget will fall back to showing all available methods. | boolean | false | true, false |
| hide_fee_breakdown | No | Hides fee details for all payment methods and only the fee value is shown. | boolean | false |
| Property | Required | Description | Data Type | Default value | Possible values |
|---|---|---|---|---|---|
| sc_address | Yes | The address of the smart contract. | string |
* |
* |
| sc_input_data | Yes | Input data that will be used for the smart contract execution (in hex format). For Tezos, this must be Michelson code passed as JSON transformed into hex format. | string |
* |
See [Forming input data](https://docs.wert.io/docs/forming-input-data) |
| signature | Yes | A digital signature encrypts the request, ensuring you have sent it. The private key stored on your backend signs the request, and the public key saved in our system decrypts it. | string |
* |
See [Generate signed data](https://docs.wert.io/docs/generate-signed-data) |
| Property | Required | Description | Data Type | Default value | Possible values |
|---|---|---|---|---|---|
| country_of_residence | No | User’s country of residence. | string |
* |
|
| state_of_residence | No | User’s state of residence (for USA). | string |
* |
|
| date_of_birth | No | User’s date of birth. | string |
* |
`DD/MM/YYYY` `MM/DD/YYYY` (USA) |
| No | User’s email address. | string |
* |
[test@test.com](mailto:test@test.com) | |
| full_name | No | The user’s first and last name. | string |
* |
min 3, max 69 letters; `RegExp(/(\\w+\\s)\\w+/)` |
| phone | No | User’s phone number in international format (E. 164 standard). The ‘+’ is optional. | string |
* |
+11014321111 |
| card_country_code | No |
card billing address |
string |
* |
US |
| card_city | No | card billing address city | string |
* |
Los Angeles |
| card_state_code | No |
card billing address |
string |
* |
CA |
| card_post_code | No | card billing address postal code | string |
* |
12345 |
| card_street | No | card billing address street | string |
* |
Main street 1 |
| Property | Required | Description | Data Type | Default value | Possible values |
|---|---|---|---|---|---|
| lang | No | Language of the widget. | string | en | ** |
| skip_init_navigation | No | By default, the module suggests the nearest purchase route based on given parameters. Setting to ‘true’ skips this logic. | boolean | undefined | true |
| theme | No | Module’s theme color. | string | undefined | dark |
| brand_color | No | Custom brand color that affects the following components: primary buttons, tooltips, steppers, tabs, checkboxes, toasts, pie countdowns. | string |
* |
`#FF0000` |
| is_crypto_hidden | No | It hides crypto mentions and exchange rates. Please reach out to us to enable this feature for you. Check [boolean usage](https://docs.wert.io/docs/nft-checkout#boolean-usage) below. | boolean | undefined | true |
| Property | Type | Description | Example |
|---|---|---|---|
| address | String | The user’s address that receives the token/NFT. It will also act as a fallback address if a smart contract can’t be executed. In case of fallback, we will transfer `commodity_amount` to this address. | 0x00000000000000000000000000000 00000000001 |
| commodity | String | Cryptocurrency which should be sent to the smart contract, see [Supported coins and blockchains](https://docs.wert.io/docs/supported-coins-and-blockchains) | `commodity:'ETH'` |
| network | String | Network for the cryptocurrency, see [Supported coins and blockchains](https://docs.wert.io/docs/supported-coins-and-blockchains) | `network: 'ethereum'` |
| commodity_amount | Number | Amount of cryptocurrency necessary for executing the given smart contract. The precision is 8 decimal places; please round up, or you will get a 9004 signature error code. | 0.03 (maximum 8 decimal places) |
| sc_address | String | The address of the smart contract. | 0x00000000000000000000000000000 00000000002 |
| sc_input_data | String | Input data used for the smart contract execution in hex format. For Tezos, this must be Michelson code passed as JSON transformed into hex format. See [Forming input data](https://docs.wert.io/docs/forming-input-data). | 0x40c10f1900000000000000000000000 085f584812fc19c69e4dd586f06df93aa7 bdadd4d000000000000000000000000 000000000000000000000000016345 785d8a |
| Cryptocurrency | Available networks | ‘commodity’ option | 'network' option | Supported for smart contracts | Decimal Precision |
|---|---|---|---|---|---|
| Aavegotchi | Polygon | 'GHST' | 'polygon' | Yes | 18 |
| ANML | Polygon | 'ANML' | 'polygon' | Yes | 18 |
| Arbitrum | Arbitrum | 'ARB' | 'arbitrum' | Yes | 18 |
| AVAX | Avalanche | 'AVAX' | 'avalanche' | Yes | 18 |
| Badger | Badger | 'BUX' | 'mainnet' | No | 18 |
| Binance Coin | Binance | 'BNB' | 'bsc' | Yes | 18 |
| Bitcoin | Bitcoin | 'BTC' | 'bitcoin' | No | 8 |
| Bone ShibaSwap | Shibarium | 'BONE' | 'shibarium' | Yes | 18 |
| Concordium | Concordium | 'CCD' | 'concordium' | Yes | 5 |
| Dogami | Tezos | 'DOGA' | 'tezos' | Yes | 5 |
| Ethereum | Ethereum Arbitrum Base Hemi | 'ETH' | 'ethereum' 'arbitrum' 'base' 'hemi' | Yes | 18 |
| EUROe | Concordium | 'EUROE' | 'mainnet' | No | 6 |
| GPRO | Polygon | 'GPRO' | 'polygon' | Yes | 18 |
| Hemi | Hemi | 'HEMI' | 'hemi' | Yes | 18 |
| LayerAI | Ethereum Binance | 'LAI' | 'ethereum' 'bsc' | No | 18 |
| LimeWire | Ethereum | 'LMWR' | 'ethereum' | Yes | 18 |
| Lugh | Tezos | 'EURL' | 'tezos' | No | 6 |
| MANA | Polygon Ethereum | 'MANA' | 'polygon' 'ethereum' | Yes | 18 |
| NEAR | Near | 'NEAR' | 'near' | Yes | 8 |
| Oasys | Oasys | 'OAS' | 'oasys' | Yes | 8 |
| opBNB | opBNB | 'OPBNB' | 'opbnb' | Yes | 18 |
| POL | Polygon | 'POL' | 'polygon' | Yes | 18 |
| Rootstock BTC | Rootstock | 'RBTC' | 'rootstock' | Yes | 18 |
| Stacks | Stacks | 'STX' | 'stacks' | No | 6 |
| Solana | Solana | 'SOL' | 'solana' | Yes | 9 |
| Tamadoge | Polygon | 'TAMA' | 'polygon' | No | 18 |
| Tezos | Tezos | 'XTZ' | 'tezos' | Yes | 6 |
| TFUEL | Theta | 'TFUEL' | 'theta' | Yes | 18 |
| TON | The Open Network | 'TON' | 'ton' | Yes | 8 |
| USDC | Arbitrum Base Ethereum Avalanche Shibarium Solana Polygon Hemi | 'USDC' | 'arbitrum' 'base' 'ethereum' 'avalanche' 'shibarium' 'solana' 'polygon' 'hemi' | Yes | 6 |
| USDT | Polygon Ethereum Binance TON Hemi | 'USDT' | 'polygon' 'ethereum' 'bsc' 'ton' 'hemi' | Yes | 6 6 18 6 6 |
| USD Tez | Tezos | 'USDTZ' | 'tezos' | Yes | 6 |
| Vyvo | Vyvo | 'VSC' | 'vyvo' | Yes | 5 |
| Wrapped Ether | Polygon | 'WETH' | 'polygon' | Yes | 18 |
| Wrapped Matic | Polygon | 'WMATIC' | 'polygon' | Yes | 18 |
| XCAD | opBNB Binance | 'XCAD' | 'opbnb' 'bsc' | Yes | 18 |
| Cryptocurrency | Available networks | ‘commodity’ option | 'network' option | Decimal Precision |
|---|---|---|---|---|
| Binance | BSC | 'BNB' | 'bsc' | 18 |
| BONE | Puppynet | 'BONE' | 'puppynet' | 18 |
| Badger | Badger | 'BUX' | 'badger' | 18 |
| Concordium | Concordium | 'CCD' | 'concordium' | 18 |
| Ethereum | Sepolia Base Arbitrum | 'ETH' | 'sepolia' 'base_sepolia' 'arbitrum_sepolia' | 18 |
| EUROe | Concordium | 'EUROe' | 'concordium' | 18 |
| Hemi | Hemi | 'HEMI' | 'hemi' | 18 |
| POL | Amoy | 'POL' | 'amoy' | 18 |
| Solana | Solana | 'SOL' | 'solana' | 9 |
| Test Token | Amoy BSC KuCoin Base Arbitrum Sepolia opBNB Puppynet Hemi | 'TT' | 'amoy' 'bsc' 'kucoin' 'base_sepolia' 'arbitrum_sepolia' 'sepolia' 'opbnb' 'puppynet' 'hemi' | 18 |
| Test Token | Solana | 'TT' | 'solana' | 9 |
| Tezos | Ghostnet | 'XTZ' | 'ghostnet' | 6 |
| opBNB | opBNB | 'opBNB' | 'opbnb' | 18 |
| Parameter | Description |
|---|---|
| ticker | The rate at which cryptocurrency is being sold. |
| fee_percent | % fee taken by the service. |
| currency_amount | The final amount in fiat that the user will pay. |
| fee_amount | Amount paid in fiat to cover the service fee. |
| commodity_amount | The amount of cryptocurrency that the user will receive. |
| purchase_amount | The amount of fiat that will be used to purchase cryptocurrency ( `purchase_amount` = `currency_amount` - `fee_amount` - `currency_miner_fee`) |
| miner_fee | The amount of crypto that will be used to cover blockchain fees. |
| currency_miner_fee | Price of miner fee in fiat (`currency_miner_fee` = `miner_fee` • `ticker`). |
| Endpoint | URL | Method |
|---|---|---|
| Orders | [https://partner-sandbox.wert.io/api/external/orders](https://partner-sandbox.wert.io/api/external/orders) |
GET |
| Users | [https://partner-sandbox.wert.io/api/external/users](https://partner-sandbox.wert.io/api/external/users) |
GET |
| User Create | [https://partner-sandbox.wert.io/api/external/users/create](https://partner-sandbox.wert.io/api/external/users/create) |
POST |
| Card Register | [https://cards-reg-iframe-sandbox.wert.io/api/v1/partner/register](https://cards-reg-iframe-sandbox.wert.io/api/v1/partner/register) |
POST |
| Endpoint | URL | Method |
|---|---|---|
| Orders | [https://partner.wert.io/api/external/orders](https://partner.wert.io/api/external/orders) |
GET |
| Users | [https://partner.wert.io/api/external/users](https://partner.wert.io/api/external/users) |
GET |
| User Create | [https://partner.wert.io/api/external/users/create](https://partner.wert.io/api/external/users/create) |
POST |
| Card Register | [https://cards.wert.io/api/v1/partner/register](https://cards.wert.io/api/v1/partner/register) |
POST |
| Header Key | Value |
|---|---|
| X-Api-Key | `your-unique-api-key` |
Your API Key carries many privileges, so be sure to keep it secure!
Your API key is provided exclusively by Wert during onboarding. Store this safely in your backend. Never share your key; if you suspect a compromise, contact us immediately to issue a new one.
Note: Sandbox and Production keys are unique to their respective environments and are not interchangeable.| Parameter | Description | Possible Values |
|---|---|---|
| limit | The number of orders you want to retrieve. Defaults to `10`. |
0 to 20 |
| cursor\_id | Fetches the next page of results using the `next_cursor_id` from a previous response. Defaults to empty string. |
`01KAQWBNWWGG06HR5T9Z35A3WD` |
| search\_by | Allows setting order or click IDs to find specific order(s). | comma separated order\_ids or click\_ids |
| order\_by | Allows setting the order as ascending or descending. Defaults to desc. |
`asc` / `desc` |
| start\_date | Filters orders with created\_at after this timestamp. | `YYYY-MM-DDTHH:MM:SSZ` (eg. 2025-11-19T23:59:59.00Z) |
| end\_date | Filters orders with created\_at up to this timestamp. | `YYYY-MM-DDTHH:MM:SSZ` |
Date Filtering Reference:
start\_date - end\_date — returns orders for the specified period.| Variable | Description |
|---|---|
success |
Indicates if the request was successfully processed. |
data |
An array containing the retrieved order objects. See [order object](https://docs.wert.io/docs/data-api#order-object). |
next\_cursor\_id |
The cursor string used to fetch the next page of results. |
total |
The total count of orders matching the search criteria. |
| Variable | Description | Filterable | Filter Name |
|---|---|---|---|
order\_id |
The unique identifier for the order in Wert's database. | Yes | search\_by |
click\_id |
The identifier you pass to Wert when you initialise the widget. | Yes | search\_by |
currency |
The base currency for the order. | No | - |
currency\_amount |
The value of the order in the base currency. | No | - |
crypto |
The crypto asset purchased or sent to the smart contract. | Yes | commodity |
crypto\_amount |
The amount of the crypto asset purchased or sent to the smart contract. | No | - |
user\_id |
The unique identifier for the user in Wert's database. | Yes | user\_ids |
status |
The status of the order. See [statuses](https://docs.wert.io/docs/data-api#order-status). | Yes | status |
card\_id |
The unique identifier for the card used in Wert's database. | Yes | card\_id |
created\_at |
Timestamp of when the order was created (UTC). | No | - |
changed\_at |
Timestamp of when the order was last updated (UTC). | No | - |
partner\_fee |
The USD amount of fees collected as partner revenue. | No | - |
partner\_fee\_percent |
The percentage of fees collected as partner revenue. | No | - |
wert\_fee |
The USD amount of fees collected as Wert revenue. | No | - |
wert\_fee\_percent |
The percentage of fees collected as Wert revenue. | No | - |
tx\_id |
Blockchain transaction hash. | Yes | tx\_id |
processed\_through |
The acquirer who processed the card payment. | No | - |
card\_brand |
Visa or Mastercard. | No | - |
fail\_reason |
Payment error code. Refer to [error code](https://docs.wert.io/docs/data-api#payment-error-codes) descriptions. | Yes | fail\_reason |
payment\_type |
Authentication method of the payment (e.g., "3ds\_v2"). | Yes | `payment_type` |
additional\_data |
Additional information. | No | - |
address |
The address specified for the order. | No | - |
sc\_input\_data |
Smart contract input data sent in the transaction. | No | - |
| Error Code | Description |
|---|---|
4000 |
We weren’t able to charge the user’s card and the order was not completed. The user can try again. |
4001 |
The transaction failed due to an incorrect CVV/CVC. The user can try again ensuring they enter the correct CVV/CVC. |
400240104012
|
Payment was declined by the card issuer. The user should contact them for further details. |
4003 |
Incorrect card details. The user can try again ensuring they enter valid card details. |
4004 |
Insufficient balance. The user should add funds to their card and try again. |
4005 |
Card limit was exceeded. The user should use a different card to complete their purchase. |
4011 |
Card validation failed. The user can add a valid card and try again. |
4013 |
Payment was declined due to risk assessment. |
4014 |
Name on the bank payment account doesn't match the verified identity. The user should contact support for further assistance. |
4015 |
Payment wasn't received within the expected time. |
4016 |
Payment was received after the order timeout period. Funds will be refunded shortly. |
4017 |
Payment amount doesn't match the order amount. |
4018 |
Payment was canceled by the user. No funds were charged. |
| Parameter | Description | Possible Values |
|---|---|---|
| limit | The number of users you want to retrieve. | 0 to 20 |
| offset | Skips specified number of users. Defaults to 0. |
`10` |
| order\_by | Allows setting the user as ascending or descending. Defaults to desc. |
`asc` / `desc` |
| from | Filters users with created\_at after this timestamp. | `YYYY-MM-DDTHH:MM:SSZ` (eg. 2025-11-19T23:59:59.00Z) |
| to | Filters users with created\_at up to this timestamp. |
Date Filtering Reference:
from - to — returns users for the specified period.| Variable | Description |
|---|---|
success |
Indicates if the request was successfully processed. |
data |
An array containing the retrieved user objects. See [user object](https://docs.wert.io/docs/data-api#user-object). |
total |
The total count of users matching the search criteria. |
| Variable | Description | Filterable | Filter Name |
|---|---|---|---|
user\_id |
User's Wert ID | Yes | user\_ids |
country |
User's KYC country. alpha3 | Yes | kyc\_country |
phone\_country |
Users phone country. alpha2 | Yes | phone\_country |
lkyc\_status |
Users non-document verification status | Yes | lkyc\_status |
fkyc\_status |
Users document verification status | Yes | fkyc\_status |
banned |
Is the user banned by Wert | No | - |
created\_at |
Date and time of the user's creation (UTC) | Yes | to / from |
limits.crypto\_remaining |
The user's current crypto limit left in USD. Zero if no KYC or active KYC is not success | No | - |
limits.crypto\_spending |
How much in USD has the user already spent from the current crypto limits | No | - |
limits.digital\_goods\_remaining |
>The user's current NFT limit left in USD. Zero if no KYC or active KYC is not success | No | - |
limits.digital\_goods\_spending |
How much in USD has the user already spent from the current NFT limits | No | - |
linked\_payment\_methods |
An array of objects representing the user's saved payment options. See [linked payment methods object](https://docs.wert.io/docs/data-api#linked-payment-methods). | No | - |
| Variable | Description |
|---|---|
linked\_payment\_methods.cards\[].brand |
Payment method brand |
linked\_payment\_methods.cards\[].card\_id |
Payment method card ID associated with Wert |
linked\_payment\_methods.cards\[].created\_at |
Payment method creation date |
linked\_payment\_methods.cards\[].last\_digits |
Payment method last digits |
linked\_payment\_methods.method |
Payment method |
| Error code | Description |
|---|---|
| 400 | Bad request. Ensure all required fields are present and meet validation criteria. |
| 401 | Unauthorized. Check your API key or contact support. |
| 403 | Forbidden. Ensure the user is 18+ years old, country and state are supported, and user has accepted terms and conditions. |
| 409 | Conflict. A user with the same phone number may already exist. |
| 429 | Too Many Requests. Retry later. |
| 500 | Internal Server Error |
| Endpoint |
|---|
| /assets /convert /partner/convert |