curl --request POST \
--url https://api.lamarge.trade/v1/transfers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client_transfer_id": "<string>",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"min_out": "<string>",
"payer": "<string>",
"recipient": "<string>",
"max_parts": 8
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
client_transfer_id: '<string>',
from: '<string>',
to: '<string>',
amount_in: '<string>',
min_out: '<string>',
payer: '<string>',
recipient: '<string>',
max_parts: 8
})
};
fetch('https://api.lamarge.trade/v1/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.lamarge.trade/v1/transfers"
payload = {
"client_transfer_id": "<string>",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"min_out": "<string>",
"payer": "<string>",
"recipient": "<string>",
"max_parts": 8
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"client_transfer_id": "<string>",
"client_take_id": "<string>",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"min_out": "<string>",
"max_parts": 4,
"payer": "<string>",
"recipient": "<string>",
"from_chain_id": 123,
"to_chain_id": 123,
"withdrawal_preparation": {
"amount": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"created_at": "2023-11-07T05:31:56Z"
},
"withdrawal": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"venue": "<string>",
"amount": "<string>",
"destination": "<string>",
"state": "queued",
"venue_ref": "<string>",
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"relayed_at": "2023-11-07T05:31:56Z"
},
"take_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"take_final": true,
"cancelled_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
}{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"client_transfer_id": "<string>",
"client_take_id": "<string>",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"min_out": "<string>",
"max_parts": 4,
"payer": "<string>",
"recipient": "<string>",
"from_chain_id": 123,
"to_chain_id": 123,
"withdrawal_preparation": {
"amount": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"created_at": "2023-11-07T05:31:56Z"
},
"withdrawal": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"venue": "<string>",
"amount": "<string>",
"destination": "<string>",
"state": "queued",
"venue_ref": "<string>",
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"relayed_at": "2023-11-07T05:31:56Z"
},
"take_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"take_final": true,
"cancelled_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}Create a recoverable transfer
Persists a withdrawal-then-take route before funding: amounts, linked accounts and chain bindings. client_transfer_id is unique per owner; an exact retry returns the existing intent, changed terms conflict. Moves no funds and reserves no liquidity.
curl --request POST \
--url https://api.lamarge.trade/v1/transfers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client_transfer_id": "<string>",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"min_out": "<string>",
"payer": "<string>",
"recipient": "<string>",
"max_parts": 8
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
client_transfer_id: '<string>',
from: '<string>',
to: '<string>',
amount_in: '<string>',
min_out: '<string>',
payer: '<string>',
recipient: '<string>',
max_parts: 8
})
};
fetch('https://api.lamarge.trade/v1/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.lamarge.trade/v1/transfers"
payload = {
"client_transfer_id": "<string>",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"min_out": "<string>",
"payer": "<string>",
"recipient": "<string>",
"max_parts": 8
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"client_transfer_id": "<string>",
"client_take_id": "<string>",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"min_out": "<string>",
"max_parts": 4,
"payer": "<string>",
"recipient": "<string>",
"from_chain_id": 123,
"to_chain_id": 123,
"withdrawal_preparation": {
"amount": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"created_at": "2023-11-07T05:31:56Z"
},
"withdrawal": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"venue": "<string>",
"amount": "<string>",
"destination": "<string>",
"state": "queued",
"venue_ref": "<string>",
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"relayed_at": "2023-11-07T05:31:56Z"
},
"take_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"take_final": true,
"cancelled_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
}{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"client_transfer_id": "<string>",
"client_take_id": "<string>",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"min_out": "<string>",
"max_parts": 4,
"payer": "<string>",
"recipient": "<string>",
"from_chain_id": 123,
"to_chain_id": 123,
"withdrawal_preparation": {
"amount": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"created_at": "2023-11-07T05:31:56Z"
},
"withdrawal": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"venue": "<string>",
"amount": "<string>",
"destination": "<string>",
"state": "queued",
"venue_ref": "<string>",
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"relayed_at": "2023-11-07T05:31:56Z"
},
"take_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"take_final": true,
"cancelled_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}Authorizations
Master session from POST /v1/auth/verify. Revocable; expires after seven days by default. Required for financial operations.
Body
Persist before the first attempt. Unique per user and resource type; reuse with other parameters returns 409 STATE_CONFLICT. When omitted, the server assigns a UUID and a lost response cannot be recovered by id.
1 - 64^[A-Za-z0-9_.:-]+$A venue id from GET /v1/venues.
A venue id from GET /v1/venues.
Decimal base units of the venue's token, at most 2^256 − 1. With 6 decimals, "1000000" is 1 token.
^[0-9]{1,78}$Decimal base units of the venue's token, at most 2^256 − 1. With 6 decimals, "1000000" is 1 token.
^[0-9]{1,78}$Responses are lowercase.
^0x[0-9a-fA-F]{40}$Responses are lowercase.
^0x[0-9a-fA-F]{40}$1 <= x <= 8Response
Existing identical intent.
Persist before the first attempt. Unique per user and resource type; reuse with other parameters returns 409 STATE_CONFLICT. When omitted, the server assigns a UUID and a lost response cannot be recovered by id.
1 - 64^[A-Za-z0-9_.:-]+$Persist before the first attempt. Unique per user and resource type; reuse with other parameters returns 409 STATE_CONFLICT. When omitted, the server assigns a UUID and a lost response cannot be recovered by id.
1 - 64^[A-Za-z0-9_.:-]+$A venue id from GET /v1/venues.
A venue id from GET /v1/venues.
Decimal base units of the venue's token, at most 2^256 − 1. With 6 decimals, "1000000" is 1 token.
^[0-9]{1,78}$Decimal base units of the venue's token, at most 2^256 − 1. With 6 decimals, "1000000" is 1 token.
^[0-9]{1,78}$1 <= x <= 8Responses are lowercase.
^0x[0-9a-fA-F]{40}$Responses are lowercase.
^0x[0-9a-fA-F]{40}$Show child attributes
Show child attributes
Show child attributes
Show child attributes
True when every fill of the take is final; null before a take exists. Independent of the live fills snapshot.
RFC 3339 UTC; snapshots and history may keep fractional seconds.
RFC 3339 UTC; snapshots and history may keep fractional seconds.