Send
The Send API is used to send money from one wallet account to another wallet account. By invoking this API, users can initiate a transaction to transfer funds between two wallet accounts. The API creates a ticket for the transaction with an unsigned envelope, which contains the necessary information for the transfer.
Method: POST
{{URL}}/jsonrpc
Headers
Name | Value |
---|---|
Content-Type | application/json |
Example
Payload Parameters
Parameter | Description |
---|---|
ID Mandatory | String Represents the unique identifier associated with the transaction or request. Ex: "1088001" |
reason Mandatory | String Specifies the reason or purpose for the transaction. Ex: "test" |
destination Mandatory | String Refers to the public key or address of the recipient's wallet account. Ex: "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV" |
asset Mandatory | String Indicates the digital asset or currency being transferred. Ex: "XLM" |
fee Mandatory | String Represents the transaction fee associated with the transfer. Ex: "100" |
memoType Mandatory | String Indicates the type of memo included in the transaction. Ex: "text" |
amount Mandatory | String Represents the amount or value of the funds being transferred. Ex: "3" |
- cURL
- C#
- Go
- NodeJs
curl --location '{{url}}/rpc/WalletService/Send' \
--header 'DiviceID: 8020' \
--header 'Signature: keyId=8020,algorithm=ecdsa-sha256,signature=MEUCIQCNi1vjPf/HpI9R2DXnc0Zt1s6YmWyA4H1x813lJ+tuDgIgB+lrc+iCMyTUGiraG9kGKNDXYiz7RfBBtifr5wUQs54=' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic e3tFbWFpbH19Ont7UGFzc3dvcmR9fQ==' \
--data '{"ID":"1088001","reason":"test","destination":"GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV","asset":"XLM","fee":"100","memoType":"text","amount":"3"}'
var options = new RestClientOptions("{{url}}")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("/fednowbackend/rpc/WalletService/Send", Method.Post);
request.AddHeader("DiviceID", "8020");
request.AddHeader("Signature", "keyId=8020,algorithm=ecdsa-sha256,signature=MEUCIQCNi1vjPf/HpI9R2DXnc0Zt1s6YmWyA4H1x813lJ+tuDgIgB+lrc+iCMyTUGiraG9kGKNDXYiz7RfBBtifr5wUQs54=");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Basic e3tFbWFpbH19Ont7UGFzc3dvcmR9fQ==");
var body = @"{
" + "\n" +
@" ""ID"": ""1088001"",
" + "\n" +
@" ""reason"": ""test"",
" + "\n" +
@" ""destination"": ""GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV"",
" + "\n" +
@" ""asset"": ""XLM"",
" + "\n" +
@" ""fee"": ""100"",
" + "\n" +
@" ""memoType"": ""text"",
" + "\n" +
@" ""amount"": ""3""
" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "{{url}}/rpc/WalletService/Send"
method := "POST"
payload := strings.NewReader(`{`+"
"+`
"ID": "1088001",`+"
"+`
"reason": "test",`+"
"+`
"destination": "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV",`+"
"+`
"asset": "XLM",`+"
"+`
"fee": "100",`+"
"+`
"memoType": "text",`+"
"+`
"amount": "3"`+"
"+`
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("DiviceID", "8020")
req.Header.Add("Signature", "keyId=8020,algorithm=ecdsa-sha256,signature=MEUCIQCNi1vjPf/HpI9R2DXnc0Zt1s6YmWyA4H1x813lJ+tuDgIgB+lrc+iCMyTUGiraG9kGKNDXYiz7RfBBtifr5wUQs54=")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Basic e3tFbWFpbH19Ont7UGFzc3dvcmR9fQ==")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': '{{url}}',
'path': '/fednowbackend/rpc/WalletService/Send',
'headers': {
'DiviceID': '8020',
'Signature': 'keyId=8020,algorithm=ecdsa-sha256,signature=MEUCIQCNi1vjPf/HpI9R2DXnc0Zt1s6YmWyA4H1x813lJ+tuDgIgB+lrc+iCMyTUGiraG9kGKNDXYiz7RfBBtifr5wUQs54=',
'Content-Type': 'application/json',
'Authorization': 'Basic e3tFbWFpbH19Ont7UGFzc3dvcmR9fQ=='
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"ID": "1088001",
"reason": "test",
"destination": "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV",
"asset": "XLM",
"fee": "100",
"memoType": "text",
"amount": "3"
});
req.write(postData);
req.end();
Body
{
"ID": "1088001",
"reason": "test",
"destination": "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV",
"asset": "XLM",
"fee": "100",
"memoType": "text",
"amount": "3"
}
Response: 200
Response Parameters
Parameter | Description |
---|---|
ID | String Represents the unique identifier associated with the transaction or request. Ex: "1088001" |
asset | String Indicates the digital asset or currency being transferred. Ex: "XLM" |
reason | String Specifies the reason or purpose for the transaction. Ex: "test" |
destination | String Refers to the public key or address of the recipient's wallet account. Ex: "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV" |
fee | String Represents the transaction fee associated with the transfer. Ex: "100" |
threshold | Number Specifies the threshold value required for the operation. Ex: 4 |
memoType | String Indicates the type of memo included in the transaction. Ex: "text" |
xdr | String Represents the XDR (Extensible Data Representation) format of the transaction. It contains the encoded data related to the transfer. Ex: "AAAAAgAAAAAKprVoF+OzKd0ZC9uB+2b6n0yZjVnKpf8tSuFsjVydzAAAAGQAAk9GAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAKprVoF+OzKd0ZC9uB+2b6n0yZjVnKpf8tSuFsjVydzAAAAAEAAAAAC3p5R6SWwUzGtIR4+3aqUFZWQt2HOdKL+VDa8l7eZO0AAAAAAAAAAAHJw4AAAAAAAAAAAA==" |
amount | String Represents the amount or value of the funds being transferred. Ex: "3" |
message | String Provides a message or status update related to the transaction request. Ex: "Send Transaction Request Raised Successfully" |
ticket | Object |
id | String Represents the unique identifier of the ticket. Ex: "175002" |
requestID | String Refers to the unique identifier of the request. Ex: "175001" |
customerID | String Refers to the unique identifier of the customer associated with the transaction. Ex: "PL" |
applicationCode | String Represents the application code associated with the ticket. Ex: "100000000041001" |
ticketName | String Represents the name or identifier of the ticket. Ex: "WALLET_SEND" |
createdTS | String Represents the timestamp when the ticket was created. Ex: "2023-06-24T19:45:34.306625904+05:30" |
updatedTS | String Indicates the timestamp of the last update made to the ticket. Ex: "2023-06-24T19:45:34.306626062+05:30" |
createdBy | String Specifies the email address of the user who created the ticket. Ex: "chennareddy.s+1@netxd.com" |
payloadJSON | Object |
ID | String Represents the unique identifier associated with the send transaction. Ex: "1088001" |
asset | String Indicates the asset type to be sent in the transaction. Ex: "XLM" |
reason | String Represents the reason or description for the transaction. Ex: "test" |
destination | String Refers to the public key of the destination wallet account where the funds will be sent. Ex: "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV" |
fee | String Represents the transaction fee amount. Ex: "100" |
threshold | Number Specifies the threshold value required for the transaction. Ex: 4 |
memoType | String Indicates the type of memo associated with the transaction. Ex: "text" |
xdr | String Represents the XDR (Extensible Data Representation) format of the transaction. It contains the encoded data related to the transaction. Ex: "AAAAAgAAAAAKprVoF+OzKd0ZC9uB+2b6n0yZjVnKpf8tSuFsjVydzAAAAGQAAk9GAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAKprVoF+OzKd0ZC9uB+2b6n0yZjVnKpf8tSuFsjVydzAAAAAEAAAAAC3p5R6SWwUzGtIR4+3aqUFZWQt2HOdKL+VDa8l7eZO0AAAAAAAAAAAHJw4AAAAAAAAAAAA==" |
amount | String Represents the amount of the asset to be sent in the transaction. Ex: "3" |
senderID | String Represents the unique identifier of the sender or account initiating the transaction. Ex: "23456" |
senderName | String Specifies the name of the sender or account initiating the transaction. Ex: "bug" |
senderPublicKey | String Refers to the public key of the sender or account initiating the transaction. Ex: "GAFKNNLIC7R3GKO5DEF5XAP3M35J6TEZRVM4VJP7FVFOC3ENLSO4ZC4K" |
transactionType | String Indicates the type of transaction being performed. Ex: "WALLET_SEND" |
issuer | String Indicates the issuer or source of the asset being sent. Ex: "native" |
receiverID | String Represents the unique identifier of the receiver or destination account. Ex: "9991103002" |
receiverName | String Specifies the name of the receiver or destination account. Ex: "SignerTest108" |
receiverType | String Indicates the type of receiver or destination account. Ex: "INTERNAL" |
receiverPublicKey | String Refers to the public key of the receiver or destination account. Ex: "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV" |
ticketName | String Represents the name or identifier of the ticket associated with the transaction. Ex: "WALLET_SEND" |
actualRequiredThreshold | Number pecifies the actual threshold value required for the transaction. Ex: 4 |
state | String Represents the state or status of the ticket. Ex: "OPEN" |
status | String Indicates the current status of the ticket. Ex: "WAITING_FOR_APPROVAL" |
noOfApproval | Number Represents the number of approvals received for the ticket. Ex: 1 |
ticketHistory | Array |
updatedBy | String Indicates the user or entity who made the update to the ticket. Ex: "chennareddy.s+1@netxd.com" |
updatedDate | String Represents the date and time when the update was made. Ex: "2023-06-24T19:45:34.308070421+05:30" |
state | String Represents the state or status of the ticket. Ex: "OPEN" |
accountId | String Refers to the unique identifier of the account associated with the ticket. Ex: "1088001" |
senderID | String Represents the unique identifier of the sender or account initiating the transaction. Ex: "23456" |
senderName | String Specifies the name of the sender or account initiating the transaction. Ex: "bug" |
senderPublicKey | String Refers to the public key of the sender or account initiating the transaction. Ex: "GAFKNNLIC7R3GKO5DEF5XAP3M35J6TEZRVM4VJP7FVFOC3ENLSO4ZC4K" |
transactionType | String Indicates the type of transaction being performed. Ex: "WALLET_SEND" |
issuer | String Indicates the issuer or source of the asset being sent. Ex: "native" |
receiverID | String Represents the unique identifier of the receiver or destination account. Ex: "9991103002" |
receiverName | String Specifies the name of the receiver or destination account. Ex: "SignerTest108" |
receiverType | String Indicates the type of receiver or destination account. Ex: "INTERNAL" |
receiverPublicKey | String Refers to the public key of the receiver or destination account. Ex: "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV" |
ticketName | String Represents the name or identifier of the ticket. Ex: "WALLET_SEND" |
actualRequiredThreshold | Number Specifies the actual threshold value required for the operation. Ex: 4 |
{
"ID": "1088001",
"asset": "XLM",
"reason": "test",
"destination": "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV",
"fee": "100",
"threshold": 4,
"memoType": "text",
"xdr": "AAAAAgAAAAAKprVoF+OzKd0ZC9uB+2b6n0yZjVnKpf8tSuFsjVydzAAAAGQAAk9GAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAKprVoF+OzKd0ZC9uB+2b6n0yZjVnKpf8tSuFsjVydzAAAAAEAAAAAC3p5R6SWwUzGtIR4+3aqUFZWQt2HOdKL+VDa8l7eZO0AAAAAAAAAAAHJw4AAAAAAAAAAAA==",
"amount": "3",
"message": "Send Transaction Request Raised Successfully",
"ticket": {
"id": "175002",
"requestID": "175001",
"customerID": "100000000041001",
"applicationCode": "PL",
"ticketName": "WALLET_SEND",
"createdTS": "2023-06-24T19:45:34.306625904+05:30",
"updatedTS": "2023-06-24T19:45:34.306626062+05:30",
"createdBy": "chennareddy.s+1@netxd.com",
"payloadJSON": "{
"ID": "1088001",
"asset": "XLM",
"reason": "test",
"destination": "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV",
"fee": "100",
"threshold": 4,
"memoType": "text",
"xdr": "AAAAAgAAAAAKprVoF+OzKd0ZC9uB+2b6n0yZjVnKpf8tSuFsjVydzAAAAGQAAk9GAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAKprVoF+OzKd0ZC9uB+2b6n0yZjVnKpf8tSuFsjVydzAAAAAEAAAAAC3p5R6SWwUzGtIR4+3aqUFZWQt2HOdKL+VDa8l7eZO0AAAAAAAAAAAHJw4AAAAAAAAAAAA==",
"amount": "3",
"senderID": "23456",
"senderName": "bug",
"senderPublicKey": "GAFKNNLIC7R3GKO5DEF5XAP3M35J6TEZRVM4VJP7FVFOC3ENLSO4ZC4K",
"transactionType": "WALLET_SEND",
"issuer": "native",
"receiverID": "9991103002",
"receiverName": "SignerTest108",
"receiverType": "INTERNAL",
"receiverPublicKey": "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV",
"ticketName": "WALLET_SEND",
"actualRequiredThreshold": 4
}",
"state": "OPEN",
"status": "WAITING_FOR_APPROVAL",
"noOfApproval": 1,
"ticketHistory": [
{
"updatedBy": "chennareddy.s+1@netxd.com",
"updatedDate": "2023-06-24T19:45:34.308070421+05:30",
"state": "OPEN"
}
],
"accountId": "1088001"
},
"senderID": "23456",
"senderName": "bug",
"senderPublicKey": "GAFKNNLIC7R3GKO5DEF5XAP3M35J6TEZRVM4VJP7FVFOC3ENLSO4ZC4K",
"transactionType": "WALLET_SEND",
"issuer": "native",
"receiverID": "9991103002",
"receiverName": "SignerTest108",
"receiverType": "INTERNAL",
"receiverPublicKey": "GAFXU6KHUSLMCTGGWSCHR63WVJIFMVSC3WDTTUUL7FINV4S63ZSO2JIV",
"ticketName": "WALLET_SEND",
"actualRequiredThreshold": 4
}