Get signed trade proof
curl --request GET \
--url https://api.lamarge.trade/v1/trades/{id}/proofconst options = {method: 'GET'};
fetch('https://api.lamarge.trade/v1/trades/{id}/proof', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.lamarge.trade/v1/trades/{id}/proof"
response = requests.get(url)
print(response.text){
"version": 1,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"amount_out": "<string>",
"swap_id": "<string>",
"order_id": "<string>",
"sequence": 123,
"maker_owner": "<string>",
"payer": "<string>",
"maker_recipient": "<string>",
"taker_recipient": "<string>",
"settled_at": "2023-11-07T05:31:56Z",
"maker": {
"signer": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"signature": "<string>",
"digest": "<string>"
},
"maker_authorization": {
"signer": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"signature": "<string>",
"digest": "<string>"
},
"taker": {
"signer": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"signature": "<string>",
"digest": "<string>"
},
"transactions": [
{
"kind": "<string>",
"chain_id": 123,
"hash": "<string>",
"status": "<string>",
"at": "2023-11-07T05:31:56Z"
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}Market data
Get signed trade proof
Signed agreements of a settled trade: both EIP-712 messages with signatures, the maker’s delegation and transaction references. Only trades with both agreements are published.
GET
/
v1
/
trades
/
{id}
/
proof
Get signed trade proof
curl --request GET \
--url https://api.lamarge.trade/v1/trades/{id}/proofconst options = {method: 'GET'};
fetch('https://api.lamarge.trade/v1/trades/{id}/proof', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.lamarge.trade/v1/trades/{id}/proof"
response = requests.get(url)
print(response.text){
"version": 1,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"from": "<string>",
"to": "<string>",
"amount_in": "<string>",
"amount_out": "<string>",
"swap_id": "<string>",
"order_id": "<string>",
"sequence": 123,
"maker_owner": "<string>",
"payer": "<string>",
"maker_recipient": "<string>",
"taker_recipient": "<string>",
"settled_at": "2023-11-07T05:31:56Z",
"maker": {
"signer": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"signature": "<string>",
"digest": "<string>"
},
"maker_authorization": {
"signer": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"signature": "<string>",
"digest": "<string>"
},
"taker": {
"signer": "<string>",
"typed_data": {
"types": {},
"primaryType": "<string>",
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"message": {}
},
"signature": "<string>",
"digest": "<string>"
},
"transactions": [
{
"kind": "<string>",
"chain_id": 123,
"hash": "<string>",
"status": "<string>",
"at": "2023-11-07T05:31:56Z"
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"retryable": true
}
}The maker rate is
It checks signatures, delegated authority, route, amounts and the binding between agreements. It accepts the current escrow and the payment-proof deployment
receive / supply; the taker pays amountIn = ceil(amountOut × receive / supply) base units and signs both amounts in its LockPayment, the same signature that locks the payment. Each agreement carries the full EIP-712 typed data, digest, signer and signature.
Verify a downloaded proof without the API:
cd web
bun run scripts/verify-trade-proof.ts trade.json
0x0eb336fb2a53743428cbe40902f284f89b762c68; all agreements, including the taker’s receiving escrow, must name the same deployment. Check execution on each chain from the transaction references.Path Parameters
Response
Signed maker and taker agreements.
Available options:
1 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.
Pattern:
^[0-9]{1,78}$Decimal base units of the venue's token, at most 2^256 − 1. With 6 decimals, "1000000" is 1 token.
Pattern:
^[0-9]{1,78}$Responses are lowercase.
Pattern:
^0x[0-9a-fA-F]{40}$Responses are lowercase.
Pattern:
^0x[0-9a-fA-F]{40}$Responses are lowercase.
Pattern:
^0x[0-9a-fA-F]{40}$Responses are lowercase.
Pattern:
^0x[0-9a-fA-F]{40}$RFC 3339 UTC; snapshots and history may keep fractional seconds.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes