API REFERENCE v1
Wallet
A single-currency interface for addresses, balances and transfers. This page describes the planned contract; Wallet API is not implemented in this version of Coinkun.
On this page
#Create Wallet
PlannedA wallet has its own public identifier and Transfer Key. It is distinct from a multi-currency account.
/walletsRequest
- HTTP Method
POST - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets
| Parameter | Type | Description | Required |
|---|---|---|---|
currency | string | Currency identifier; ltc is used throughout these examples. | Yes |
callback | object | Notification configuration with method, url and optional data. | No |
destinations | array | Forwarding destinations containing address and amount. | No |
destination_rules | array | Proposed automatic-transfer conditions; rule syntax is not defined for Coinkun yet. | No |
fee | string | Proposed network fee strategy. | No |
processing-fee-policy | string | Processing fee policy; no Coinkun pricing policy is enabled yet. | No |
curl --request POST "https://coinkun.com/api/v1/wallets" \
--header 'Content-Type: application/json' \
--data '{
"currency": "ltc",
"callback": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"data": {
"order_id": "ORDER_ID"
}
}
}'{
"currency": "ltc",
"callback": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"data": {
"order_id": "ORDER_ID"
}
}
}{
"wallet": "WALLET_ID",
"currency": "ltc",
"created": "2026-09-05T10:00:00Z",
"transfer-key": "TRANSFER_KEY",
"callback": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"data": {
"order_id": "ORDER_ID"
}
},
"destinations": [],
"destination_rules": null,
"fee": "normal",
"processing-fee-policy": "fixed"
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Wallet Info
Planned/wallets/{wallet}Request
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}"{
"wallet": "WALLET_ID",
"currency": "ltc",
"created": "2026-09-05T10:00:00Z",
"units": "litoshi",
"fee": "normal",
"processing-fee-policy": "fixed",
"destinations": [],
"destination_rules": null
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Wallet Balance
Planned/wallets/{wallet}/balanceRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/balance
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
addresses | string | Comma-separated addresses to include. | No |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/balance"{
"wallet": "WALLET_ID",
"available": 250000,
"total": 300000
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Generate Address
Planned/wallets/{wallet}/addressesRequest
- HTTP Method
POST - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/addresses
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
addr-type | string | Requested address encoding; p2wpkh is used in the example. | No |
callback | object | Address notification configuration. | No |
curl --request POST "https://coinkun.com/api/v1/wallets/${WALLET_ID}/addresses" \
--header 'Content-Type: application/json' \
--data '{
"addr-type": "p2wpkh",
"callback": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"data": {
"order_id": "ORDER_ID"
}
}
}'{
"addr-type": "p2wpkh",
"callback": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"data": {
"order_id": "ORDER_ID"
}
}
}{
"wallet": "WALLET_ID",
"address": "LTC_ADDRESS",
"created": "2026-09-05T10:00:00Z",
"type": "p2wpkh",
"callback": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"data": {
"order_id": "ORDER_ID"
}
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address Info
Planned/wallets/{wallet}/addresses/{address}Request
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/addresses/{address}
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
address | string | Address belonging to this wallet. | Yes |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/addresses/${ADDRESS}"{
"wallet": "WALLET_ID",
"address": "LTC_ADDRESS",
"type": "p2wpkh",
"created": "2026-09-05T10:00:00Z",
"balance": {
"available": 250000,
"total": 300000
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address Balance
Planned/wallets/{wallet}/addresses/{address}/balanceRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/addresses/{address}/balance
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
address | string | Address belonging to this wallet. | Yes |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/addresses/${ADDRESS}/balance"{
"wallet": "WALLET_ID",
"address": "LTC_ADDRESS",
"available": 250000,
"total": 300000
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Wallet Addresses
Planned/wallets/{wallet}/addressesRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/addresses
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
limit | integer | Page size; reference default is 10. | No |
offset | integer | Zero-based offset; reference default is 0. | No |
q | string | Filter expression, for example address:LTC_ADDRESS,empty:false. | No |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/addresses" \
--get \
--data-urlencode "limit=10" \
--data-urlencode "offset=0"{
"wallet": "WALLET_ID",
"addresses": [
{
"address": "LTC_ADDRESS",
"type": "p2wpkh",
"created": "2026-09-05T10:00:00Z",
"balance": {
"available": 250000,
"total": 300000
}
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 10
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Estimation
PlannedPreview transfer destinations and fees before authorizing a payment.
/wallets/{wallet}/transferRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/transfer
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
destinations | string | Comma-separated address:amount pairs, for example LTC_DESTINATION_ADDRESS:250000. | Yes |
fee | string | Requested network fee strategy. | No |
subtract-fee-from-amount | boolean | Deduct fees from destination amounts instead of adding them. | No |
addresses | string | Comma-separated source addresses. | No |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/transfer" \
--get \
--data-urlencode "destinations=LTC_DESTINATION_ADDRESS:250000"{
"wallet": "WALLET_ID",
"destinations": [
{
"address": "LTC_DESTINATION_ADDRESS",
"amount": 250000
}
],
"amount": 250000,
"total": 251000,
"fee": {
"subtract-from-amount": false,
"network": {
"strategy": "normal",
"amount": 1000,
"rate": 10
}
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Transfer
Planned/wallets/{wallet}/transferRequest
- HTTP Method
POST - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/transfer - Authorization
Bearer YOUR_ACCESS_TOKENPlanned
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
transfer-key | string | Required when an access token is not supplied. | No |
destinations | array | Recipient objects with address and integer atomic amount or percentage string. | Yes |
fee | string | Requested network fee strategy. | No |
subtract-fee-from-amount | boolean | Deduct fees from destination amounts. | No |
addresses | array | Restrict funding to these wallet addresses. | No |
curl --request POST "https://coinkun.com/api/v1/wallets/${WALLET_ID}/transfer" \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{
"transfer-key": "TRANSFER_KEY",
"destinations": [
{
"address": "LTC_DESTINATION_ADDRESS",
"amount": 250000
}
],
"fee": "normal",
"subtract-fee-from-amount": false
}'{
"transfer-key": "TRANSFER_KEY",
"destinations": [
{
"address": "LTC_DESTINATION_ADDRESS",
"amount": 250000
}
],
"fee": "normal",
"subtract-fee-from-amount": false
}{
"wallet": "WALLET_ID",
"created": "2026-09-05T10:05:00Z",
"type": "payment",
"id": "PAYMENT_ID",
"txs": [
"TRANSACTION_HASH"
],
"destinations": [
{
"address": "LTC_DESTINATION_ADDRESS",
"amount": 250000
}
],
"amount": 250000,
"total": 251000,
"fee": {
"subtract-from-amount": false,
"network": {
"strategy": "normal",
"amount": 1000,
"rate": 10
}
},
"change-address": "LTC_CHANGE_ADDRESS"
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Wallet History
Planned/wallets/{wallet}/historyRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/history
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
addresses | string | Comma-separated address scope. | No |
limit | integer | Page size; reference default is 10. | No |
offset | integer | Zero-based offset. | No |
q | string | Comma-separated filters: address, date-from, date-to and item-type (payment or receipt). | No |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/history" \
--get \
--data-urlencode "limit=10" \
--data-urlencode "offset=0"{
"wallet": "WALLET_ID",
"items": [
{
"id": "RECEIPT_ID",
"type": "receipt",
"created": "2026-09-05T10:00:00Z",
"amount": 250000
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 10
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Wallet History Item
PlannedA history item is either an outgoing payment or an incoming receipt. A receipt can include several outputs.
/wallets/{wallet}/history/{HistoryItemID}Request
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/history/{HistoryItemID}
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
HistoryItemID | string | Payment or receipt identifier. | Yes |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/history/${HISTORY_ITEM_ID}"{
"wallet": "WALLET_ID",
"created": "2026-09-05T10:00:00Z",
"type": "receipt",
"id": "RECEIPT_ID",
"items": [
{
"txid": "TRANSACTION_HASH",
"address": "LTC_ADDRESS",
"amount": 250000,
"block": {
"hash": "BLOCK_HASH",
"height": 101,
"deleted": false
},
"is_confirmed": true
}
],
"amount": 250000
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address History
Planned/wallets/{wallet}/addresses/{address}/historyRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/addresses/{address}/history
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
address | string | Address belonging to this wallet. | Yes |
limit | integer | Page size; reference default is 10. | No |
offset | integer | Zero-based offset. | No |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/addresses/${ADDRESS}/history" \
--get \
--data-urlencode "limit=10" \
--data-urlencode "offset=0"{
"wallet": "WALLET_ID",
"address": "LTC_ADDRESS",
"txs": [
{
"txid": "TRANSACTION_HASH",
"created": "2026-09-05T10:00:00Z",
"amount": 250000,
"block": {
"hash": "BLOCK_HASH",
"height": 101
},
"deleted": false
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 10
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Wallet Callback Info
Planned/wallets/{wallet}/callbackRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/callback - Authorization
Bearer YOUR_ACCESS_TOKENPlanned
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
transfer-key | string | Required without an access token. | No |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/callback" \
--header "Authorization: Bearer ${ACCESS_TOKEN}"{
"wallet": "WALLET_ID",
"callback": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"data": {
"order_id": "ORDER_ID"
}
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address Callback Info
Planned/wallets/{wallet}/addresses/{address}/callbackRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/addresses/{address}/callback - Authorization
Bearer YOUR_ACCESS_TOKENPlanned
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
address | string | Address belonging to this wallet. | Yes |
transfer-key | string | Required without an access token. | No |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/addresses/${ADDRESS}/callback" \
--header "Authorization: Bearer ${ACCESS_TOKEN}"{
"wallet": "WALLET_ID",
"address": "LTC_ADDRESS",
"callback": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"data": {
"order_id": "ORDER_ID"
}
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address Callback Log
Planned/wallets/{wallet}/addresses/{address}/callback-logRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/wallets/{wallet}/addresses/{address}/callback-log - Authorization
Bearer YOUR_ACCESS_TOKENPlanned
| Parameter | Type | Description | Required |
|---|---|---|---|
wallet | string | Public wallet identifier. | Yes |
address | string | Address belonging to this wallet. | Yes |
transfer-key | string | Required without an access token. | No |
curl --request GET "https://coinkun.com/api/v1/wallets/${WALLET_ID}/addresses/${ADDRESS}/callback-log" \
--header "Authorization: Bearer ${ACCESS_TOKEN}"{
"wallet": "WALLET_ID",
"address": "LTC_ADDRESS",
"log": [
{
"date": "2026-09-05T10:00:00Z",
"request": {
"method": "POST",
"url": "https://merchant.example/webhooks/coinkun",
"args": {
"wallet": "WALLET_ID",
"value": 250000,
"input_address": "LTC_ADDRESS",
"confirmations": 1,
"input_transaction_hash": "TRANSACTION_HASH"
}
},
"response": {
"status": 200,
"headers": {
"Content-Type": "text/plain"
},
"content": "*ok*"
}
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 10
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.