Creates exchange transaction filling order fully or partially.
## Request Structure
`JSON object:`
```JSON
{
"method": "srv_xchange",
"subcommand": ["purchase"],
"arguments": {
"net": "network_name",
"order": "order_hash",
"w": "wallet_name",
"value": "value",
"fee": "fee_value"
},
"id": "1"
}
```
`Parameters:`
**`net (network_name)`** - name of the Cellframe Network. The list of networks can be found in the `<Config_dir> \ etc \ network` folder or received using - [[Node Command - NET LIST]]
**`order`** - order hash
**`w`** - name of the wallet
**`value`** - amount of datoshi user wants to sell corresponding to rate specified in order
**`fee`** - comission in datoshi
### Curl Example
`Request:`
```actionscript
curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d '{
"method": "srv_xchange",
"subcommand": ["purchase"],
"arguments": {
"net": "riemann",
"order": "0xB7CDA6376E5255FA6DA476336A6DCDE07BB5EA44944357C7D12CB7052BA5B56A",
"w": "wallet1",
"value": "1.0e+18",
"fee": "0.05e+18"
},
"id": "1"
}'
```
`Response:`
```json
{
"type": 2,
"result": [
{
"status": "Exchange transaction has done",
"hash": "0x4608B8437C2087B0F1454D66DDABA4B2A039ADC0F8BCABD475EA2FBEF8488881"
}
],
"id": 1
}
```