# Transfer

## POST /transfer

> Transfer Metacoin or Token

```json
{"openapi":"3.0.0","info":{"title":"Metacoin API","version":"2.1"},"tags":[{"name":"Transfer","description":"Metacoin or Token transfer"}],"servers":[{"url":"http://testnetrest.metacoin.network:20922","description":"TESTnet API endpoint"},{"url":"https://testnetrest.metacoin.network:20923","description":"TESTnet API endpoint - HTTPS"},{"url":"https://rest.metacoin.network:20923","description":"Mainnet public node"}],"paths":{"/transfer":{"post":{"tags":["Transfer"],"summary":"Transfer Metacoin or Token","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"Metacoin Address"},"description":"Withdraw address","required":true},{"name":"to","in":"query","schema":{"type":"string","format":"Metacoin Address"},"description":"Deposit Address","required":true},{"name":"token","in":"query","schema":{"type":"integer"},"description":"Token ID, if 0 then Transfer Metacoin","required":true},{"name":"amount","in":"query","description":"Transfer amount Metacoin or Token","schema":{"type":"string","format":"integer"},"required":true},{"name":"checkkey","in":"query","schema":{"type":"string"},"description":"Temporary key for signing - using only transfer, not recording","required":true},{"name":"tags","in":"query","schema":{"type":"string","minLength":0,"maxLength":64},"description":"- Optional An arbitrary string that identifies a reason for payment or a account\n- Up to 64 characters are stored, and characters after 64 characters are not stored.\n"},{"$ref":"#/components/parameters/memo"},{"$ref":"#/components/parameters/unlockdate"},{"name":"signature","in":"query","required":true,"schema":{"type":"string","format":"base64"},"description":"- ECDSA sign for concat from, to, token, amount, checkkey\n- ex) ecdsa_sign(privatekey of from address, from +'|'+ to +'|'+ token +'|'+ amount+'|' + checkkey)\n"}],"responses":{"200":{"description":"successful operation","content":{"*/*":{"schema":{"type":"object","properties":{"transaction_id":{"type":"string","description":"Transaction ID"}}}}}},"400":{"description":"insufficient balance"},"404":{"description":"Address not found"}}}}},"components":{"parameters":{"memo":{"name":"memo","in":"query","schema":{"type":"string","minLength":0,"maxLength":2048},"description":"- It does not play any role. However, it is recorded in the Block and can be referenced to this value.\n- Up to 2048 characters are stored, and characters after 2048 characters are not stored.\n"},"unlockdate":{"name":"unlockdate","in":"query","schema":{"type":"string","format":"int"},"description":"- When transfer is allowed\n- Transfer is possible after the designated time\n"}}}}
```

## POST /multitransfer

> Multi Transfer Metacoin or Token

```json
{"openapi":"3.0.0","info":{"title":"Metacoin API","version":"2.1"},"tags":[{"name":"Transfer","description":"Metacoin or Token transfer"}],"servers":[{"url":"http://testnetrest.metacoin.network:20922","description":"TESTnet API endpoint"},{"url":"https://testnetrest.metacoin.network:20923","description":"TESTnet API endpoint - HTTPS"},{"url":"https://rest.metacoin.network:20923","description":"Mainnet public node"}],"paths":{"/multitransfer":{"post":{"tags":["Transfer"],"summary":"Multi Transfer Metacoin or Token","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"Metacoin Address"},"description":"Withdraw address","required":true},{"name":"transferlist","in":"query","schema":{"type":"array","format":"json","minItems":1,"maxItems":100,"items":{"type":"object","properties":{"address":{"type":"string","format":"Metacoin Address","description":"- **This value is required.**\n- Metacoin wallet ID\n"},"amount":{"type":"string","format":"integer","description":"- **This value is required.**\n- Payment amount\n- If no reward amount but need memo set \"0\"\n"},"unlockdate":{"type":"string","format":"integer","minLength":0,"description":"- **This value is required.**\n- When transfer is allowed\n- Transfer is possible after the designated time\n- If not specified, enter \"0\"\n"},"tag":{"type":"string","minLength":0,"maxLength":64,"description":"- Optional An arbitrary string that identifies a reason for payment or a account\n- Up to 64 characters are stored, and characters after 64 characters are not stored.\n"},"memo":{"type":"string","minLength":0,"maxLength":2048,"description":"- It does not play any role. However, it is recorded in the Block and can be referenced to this value.\n- Up to 2048 characters are stored, and characters after 2048 characters are not stored.\n"}}}},"description":"receive address, amount list","required":true},{"name":"token","in":"query","schema":{"type":"integer"},"description":"Token ID, if 0 then Transfer Metacoin","required":true},{"name":"checkkey","in":"query","schema":{"type":"string"},"description":"Temporary key for signing - using only transfer, not recording","required":true},{"name":"signature","in":"query","required":true,"schema":{"type":"string","format":"base64"},"description":"- ECDSA sign for concat from, transferlist, token, checkkey\n- ex) ecdsa_sign(privatekey of from address, from +'|'+ json_encode(transferlist) +'|'+ token +'|'+ checkkey)\n"}],"responses":{"200":{"description":"successful operation","content":{"*/*":{"schema":{"type":"object","properties":{"transaction_id":{"type":"string","description":"Transaction ID"}}}}}},"400":{"description":"insufficient balance"},"404":{"description":"Address not found"}}}}}}
```
