Profiles
Profiles define which wallet will be used for address generation and to which callback URL related events should be sent.
List Profiles
This endpoint retrieves all profiles.
HTTP Request
GET /v1/profiles/
profiles = uniwire_api_request('/v1/profiles/')uniwire_api_request('/v1/profiles/').then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});The above command returns JSON structured like this:
{
"result": [
{
"id": "<id>",
"account": "SUB ACCOUNT",
"account_id": "<account-id>",
"name": "My Profile",
"invoice_expiration": 600,
"addresses_expiration": 3600,
"allow_smart_contract_payouts": false,
"stablecoin_precision": 6,
"currencies": [
{
"kind": "BTC",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 6,
"zero_conf_max_amount": "100000000000000000000"
},
{
"kind": "BTC_LIGHTNING",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null, "min_confirmations": 6
},
{
"kind": "TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 20
},
{
"kind": "USDC-TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 20
}
],
"reserve_wallet": {
"kind": "TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>"
},
"acceptance_range": {
"positive_difference": "0.0010",
"negative_difference": "10.0000"
},
"notification_email": null,
"notification_email_kinds": [
"payout_complete",
"payout_confirmed"
],
"callback_url": "https://localhost:8000",
"onramper_api_key": "<api-key>"
}
]
}Get Profile
This endpoint retrieves a specific profile.
HTTP Request
GET /v1/profiles/<ID>/
URL Parameters
| Parameter | Description |
|---|---|
| ID | The ID of the profile to retrieve |
profiles = uniwire_api_request('/v1/profiles/123/')uniwire_api_request('/v1/profiles/123/').then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});The above command returns JSON structured like this:
{
"result": {
"id": "<id>",
"account": "SUB ACCOUNT",
"account_id": "<account-id>",
"name": "My Profile",
"invoice_expiration": 600,
"addresses_expiration": 3600,
"allow_smart_contract_payouts": false,
"stablecoin_precision": 6,
"currencies": [
{
"kind": "BTC",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 6,
"zero_conf_max_amount": "100000000000000000000"
},
{
"kind": "BTC_LIGHTNING",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 6
},
{
"kind": "TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 20
},
{
"kind": "USDC-TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 20
}
],
"reserve_wallet": {
"kind": "TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>"
},
"acceptance_range": {
"positive_difference": "0.0010",
"negative_difference": "10.0000"
},
"notification_email": null,
"notification_email_kinds": [
"payout_complete",
"payout_confirmed"
],
"callback_url": "https://localhost:8000",
"onramper_api_key": "<api-key>"
}
}Create Profile
This endpoint allows creating profile. Editable fields: name,notification_email,invoice_expiration,addresses_expiration,notification_email_kinds,onramper_api_key,allow_smart_contract_payouts,stablecoin_precision,acceptance_range,reserve_wallet,callback_url,currencies.
HTTP Request
POST /v1/profiles/
Payload Parameters
| Parameter | Description | Required |
|---|---|---|
| name | Text field maximum length 256 | Yes |
| notification_email | Must be valid email | No |
| invoice_expiration | Integer representing value in seconds. Valid values are: 60 – 1 min120 – 2 min300 – 5 min 600 – 10 min900 – 15 min1800 – 30 min3600 – 1 hours7200 – 2 hours21600 – 6 hours43200 – 12 hours86400 – 24 hours172800 – 2 days604800 – 7 days1209600 – 14 days | No |
| addresses_expiration | Integer representing value in seconds. Valid values are: 3600 – 1 hour7200 – 2 hours21600 – 6 hours 43200 – 12 hours86400 – 24 hours172800 – 2 days604800 – 7 days1209600 – 14 days | No |
| notification_email_kinds | String representing notification email triggers. Valid values are invoice_pending, invoice_confirmed, invoice_complete, invoice_incomplete, transaction_pending, transaction_confirmed, transaction_complete, payout_pending, payout_confirmed, payout_completeMultiple values can be separated by comma. To clear set value to null | No |
| onramper_api_key | String representing API key. To enable Onramper integration for IFRAME widget provide https://www.onramper.com/ API key. To clear set value to null | No |
| allow_smart_contract_payouts | Boolean, True/False | No |
| stablecoin_precision | Integer, Range: 0-6 | No |
| acceptance_range | Object representing negative and positive % difference of Acceptance Range. | No |
| reserve_wallet | Object representing reserve wallet. If there are not sufficient funds for requested payout then specified reserve wallet will be used to perform an auto conversion into necessary cryptocurrency and once done payout will be auto processed. | No |
| callback_url | String representing valid URL where callbacks will be sent | No |
| currencies | Object representing enabled currencies in profile. Must contain currency kind key object with keys wallet,custom_fee, min_confirmations. Available values for currency key: BTC – Bitcoin On-chain conversion.BTC_LIGHTNING_TO_BTC – Lightning Network to On-Chain.LTC – Litecoin.ETH – Ethereum.BNB – Binance Coin (on BSC).TRX – Tron.SOL – Solana.XRP – Ripple.DOGE – Dogecoin.Liquid network: L-BTC – Liquid Bitcoin.L-USDT – Tether on Liquid.Ethereum ERC-20 Tokens: ETH_USDT – Tether.ETH_TUSD – True USD.ETH_USDC – USD Coin.ETH_PAX – Paxos Standard.ETH_GUSD – Gemini Dollar.ETH_DAI – DAI.ETH_SAND – The Sandbox.ETH_SHIB – Shiba Inu.ETH_BUSD – Binance USDBinance Smart Chain (BSC) BEP-20 Tokens: ETH-BSC – Binance-pegged Ethereum.USDC-BSC – USD Coin.DAI-BSC – DAI.SHIB-BSC – Shiba Inu.BUSD – Binance USD.WBNB – Wrapped BNB.Tron TRC-20 Tokens: USDT-TRX – Tether.USDC-TRX – USD Coin.Solana SPL Tokens: USDT-SOL – Tether.USDC-SOL – USD Coin.Not provided currencies will be disabled. | Yes |
import json
payload = {
'name': 'My Profile',
'invoice_expiration': 600,
'addresses_expiration': 3600,
'notification_email_kinds': 'payout_complete,payout_confirmed',
'onramper_api_key': 'XXXXXXXXXXXXXX',
'allow_smart_contract_payouts': False,
'stablecoin_precision': 6,
'acceptance_range': {
'negative_difference': 10,
'positive_difference': '0.001',
},
'callback_url': 'https://localhost:8000',
'reserve_wallet': {
'wallet': '<wallet_id>',
'kind': 'TRX',
},
'currencies': [
{
'kind': 'BTC',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 6,
'zero_conf_max_amount': '1000',
},
{
'kind': 'BTC_LIGHTNING',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 6,
},
{
'kind': 'TRX',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 20,
},
{
'kind': 'USDC-TRX',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 20,
},
],
}
profile = uniwire_api_request('/v1/profiles/', payload, 'POST')
print(json.dumps(profile, indent=2))let payload = {
name: 'My Profile',
invoice_expiration: 600,
addresses_expiration: 3600,
notification_email_kinds: 'payout_complete,payout_confirmed',
onramper_api_key: 'XXXXXXXXXXXXXX',
allow_smart_contract_payouts: false,
stablecoin_precision: 6,
acceptance_range: {
'negative_difference': 10,
'positive_difference': '0.001',
},
callback_url: 'https://localhost:8000',
reserve_wallet: {
wallet: '<wallet_id>',
kind: 'TRX',
},
currencies: [
{
'kind': 'BTC',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 6,
'zero_conf_max_amount': '1000',
},
{
'kind': 'BTC_LIGHTNING',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 6,
},
{
'kind': 'TRX',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 20,
},
{
'kind': 'USDC-TRX',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 20,
},
],
}
uniwire_api_request('/v1/profiles/', payload, 'POST').then(function(response) {
console.log(response)
}).catch(function(error) {
console.log(error)
})JSON response for Create profile endpoint:
{
"result": {
"id": "<id>",
"account": "SUB ACCOUNT",
"account_id": "<account-id>",
"name": "My Profile",
"notification_email": null,
"invoice_expiration": 600,
"addresses_expiration": 3600,
"notification_email_kinds": [
"payout_complete",
"payout_confirmed"
],
"onramper_api_key": "XXXXXXXXXXXXXX",
"allow_smart_contract_payouts": false,
"stablecoin_precision": 6,
"acceptance_range": {
"positive_difference": "0.0010",
"negative_difference": "10.0000"
},
"reserve_wallet": {
"kind": "TRX",
"network": "mainnet",
"wallet": "<wallet_id>"
},
"callback_url": "https://localhost:8000",
"currencies": [
{
"kind": "BTC",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 6
},
{
"kind": "TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 20
},
{
"kind": "USDC-TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 20
},
{
"kind": "BTC_LIGHTNING",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 6
}
]
}
}Update Profile
This endpoint allows updating profile. Editable fields: name,notification_email,invoice_expiration,addresses_expiration,notification_email_kinds,onramper_api_key,allow_smart_contract_payouts,stablecoin_precision,acceptance_range,reserve_wallet,callback_url,currencies.
HTTP Request
PUT https://api.uniwire.com/v1/profiles/<ID>/
URL Parameters
| Parameter | Description |
|---|---|
| ID | The ID of the profile to retrieve |
Payload Parameters
| Parameter | Description |
|---|---|
| name | Text field maximum length 256 |
| notification_email | Must be valid email |
| invoice_expiration | Integer representing value in seconds. Valid values are: 60 – 1 min120 – 2 min300 – 5 min 600 – 10 min900 – 15 min1800 – 30 min3600 – 1 hours7200 – 2 hours21600 – 6 hours43200 – 12 hours86400 – 24 hours172800 – 2 days604800 – 7 days1209600 – 14 days |
| addresses_expiration | Integer representing value in seconds. Valid values are: 3600 – 1 hour7200 – 2 hours21600 – 6 hours 43200 – 12 hours86400 – 24 hours172800 – 2 days604800 – 7 days1209600 – 14 days |
| notification_email_kinds | String representing notification email triggers. Valid values are invoice_pending, invoice_confirmed, invoice_complete, invoice_incomplete, transaction_pending, transaction_confirmed, transaction_complete, payout_pending, payout_confirmed, payout_completeMultiple values can be separated by comma. To clear set value to null |
| onramper_api_key | String representing API key. To enable Onramper integration for IFRAME widget provide https://www.onramper.com/ API key. To clear set value to null |
| allow_smart_contract_payouts | Boolean, True/False |
| stablecoin_precision | Integer, Range: 0-6 |
| acceptance_range | Object representing negative and positive % difference of Acceptance Range. |
| reserve_wallet | Object representing reserve wallet. If there are not sufficient funds for requested payout then specified reserve wallet will be used to perform an auto conversion into necessary cryptocurrency and once done payout will be auto processed. |
| callback_url | String representing valid URL where callbacks will be sent |
| currencies | Object representing enabled currencies in profile. Must contain currency kind key object with keys wallet,custom_fee, min_confirmations. Available values for currency key: BTC – Bitcoin On-chain conversion.BTC_LIGHTNING_TO_BTC – Lightning Network to On-Chain.LTC – Litecoin.ETH – Ethereum.BNB – Binance Coin (on BSC).TRX – Tron.SOL – Solana.XRP – Ripple.DOGE – Dogecoin.Liquid network: L-BTC – Liquid Bitcoin.L-USDT – Tether on Liquid.Ethereum ERC-20 Tokens: ETH_USDT – Tether.ETH_TUSD – True USD.ETH_USDC – USD Coin.ETH_PAX – Paxos Standard.ETH_GUSD – Gemini Dollar.ETH_DAI – DAI.ETH_SAND – The Sandbox.ETH_SHIB – Shiba Inu.ETH_BUSD – Binance USDBinance Smart Chain (BSC) BEP-20 Tokens: ETH-BSC – Binance-pegged Ethereum.USDC-BSC – USD Coin.DAI-BSC – DAI.SHIB-BSC – Shiba Inu.BUSD – Binance USD.WBNB – Wrapped BNB.Tron TRC-20 Tokens: USDT-TRX – Tether.USDC-TRX – USD Coin.Solana SPL Tokens: USDT-SOL – Tether.USDC-SOL – USD Coin.Not provided currencies will be disabled. |
import json
payload = {
'name': 'My Profile',
'invoice_expiration': 600,
'addresses_expiration': 3600,
'notification_email_kinds': 'payout_complete,payout_confirmed',
'onramper_api_key': 'XXXXXXXXXXXXXX',
'allow_smart_contract_payouts': False,
'stablecoin_precision': 6,
'acceptance_range': {
'negative_difference': 10,
'positive_difference': '0.001',
},
'callback_url': 'https://localhost:8000',
'reserve_wallet': {
'wallet': '<wallet_id>',
'kind': 'TRX',
},
'currencies': [
{
'kind': 'BTC',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 6,
'zero_conf_max_amount': '1000',
},
{
'kind': 'BTC_LIGHTNING',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 6,
},
{
'kind': 'TRX',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 20,
},
{
'kind': 'USDC-TRX',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 20,
},
],
}
profile = uniwire_api_request('/v1/profiles/<id>', payload, 'PUT')
print(json.dumps(profile, indent=2))let payload = {
name: 'My Profile',
invoice_expiration: 600,
addresses_expiration: 3600,
notification_email_kinds: 'payout_complete,payout_confirmed',
onramper_api_key: 'XXXXXXXXXXXXXX',
allow_smart_contract_payouts: false,
stablecoin_precision: 6,
acceptance_range: {
'negative_difference': 10,
'positive_difference': '0.001',
},
callback_url: 'https://localhost:8000',
reserve_wallet: {
wallet: '<wallet_id>',
kind: 'TRX',
},
currencies: [
{
'kind': 'BTC',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 6,
'zero_conf_max_amount': '1000',
},
{
'kind': 'BTC_LIGHTNING',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 6,
},
{
'kind': 'TRX',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 20,
},
{
'kind': 'USDC-TRX',
'wallet_id': '<wallet_id>',
'custom_fee': None,
'min_confirmations': 20,
},
],
}
uniwire_api_request('/v1/profiles/<id>', payload, 'PUT').then(function(response) {
console.log(response)
}).catch(function(error) {
console.log(error)
})JSON response for Create profile endpoint:
{
"result": {
"id": "<id>",
"account": "SUB ACCOUNT",
"account_id": "<account-id>",
"name": "My Profile",
"notification_email": null,
"invoice_expiration": 600,
"addresses_expiration": 3600,
"notification_email_kinds": [
"payout_complete",
"payout_confirmed"
],
"onramper_api_key": "XXXXXXXXXXXXXX",
"allow_smart_contract_payouts": false,
"stablecoin_precision": 6,
"acceptance_range": {
"positive_difference": "0.0010",
"negative_difference": "10.0000"
},
"reserve_wallet": {
"kind": "TRX",
"network": "mainnet",
"wallet": "<wallet_id>"
},
"callback_url": "https://localhost:8000",
"currencies": [
{
"kind": "BTC",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 6
},
{
"kind": "TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 20
},
{
"kind": "USDC-TRX",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 20
},
{
"kind": "BTC_LIGHTNING",
"network": "mainnet",
"wallet_id": "<wallet_id>",
"custom_fee": null,
"min_confirmations": 6
}
]
}
}Delete Profile
This endpoint allows delete profile.
HTTP Request
DELETE https://api.uniwire.com/v1/profiles/<ID>/
URL Parameters
| Parameter | Description |
|---|---|
| ID | The ID of the profile to delete |
import json
payload = None
profile = uniwire_api_request('/v1/profiles/<id>', payload, 'DELETE')
print(json.dumps(profile, indent=2))var payload = null
uniwire_api_request('/v1/profiles/<id>', payload, 'DELETE').then(function(response) {
//
}).catch(function(error) {
console.log(error);
});