Gateway

class services.starkex.gateway.gateway.GatewayService(gateway_config: dict, storage: starkware.storage.storage.Storage)

This is the StarkEx Services HTTP gateway for all external trading interactions.

async deposit(request)

This function is deprecated and will be deleted in the next version.

Send a deposit transaction.

Parameters
  • tx_id (int) – Transaction sequence number issued by the caller.

  • data (str) – Deposit parameters in message body (DepositRequest)

Returns

Transaction status (json).

Return type

str

Example

http

POST /deposit?tx_id=1234 HTTP/1.1
Host: localhost:9411
Accept: application/json

    {
        "amount": "4029557120079369747",
        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
        "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",
        "vault_id": 1654615998
    }

curl

curl -i -X POST 'https://localhost:9411/deposit?tx_id=1234' -H "Accept: application/json" --data-raw '{

        "amount": "4029557120079369747",

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

        "vault_id": 1654615998

    }'

wget

wget -S -O- 'https://localhost:9411/deposit?tx_id=1234' --header="Accept: application/json" --post-data='{

        "amount": "4029557120079369747",

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

        "vault_id": 1654615998

    }'

httpie

echo '{

        "amount": "4029557120079369747",

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

        "vault_id": 1654615998

    }' | http POST 'https://localhost:9411/deposit?tx_id=1234' Accept:application/json

python-requests

requests.post('https://localhost:9411/deposit?tx_id=1234', headers={'Accept': 'application/json'}, data='{\r\n\n        "amount": "4029557120079369747",\r\n\n        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n        "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",\r\n\n        "vault_id": 1654615998\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
async false_full_withdrawal(request)

This function is deprecated and will be deleted in the next version.

Send a false_full_withdrawal transaction.

Parameters
  • tx_id (int) – Transaction sequence number issued by the caller.

  • data (str) – FalseFullWithdrawal parameters in message body (FalseFullWithdrawalRequest)

Returns

Transaction status (json).

Return type

str

Example

http

POST /false_full_withdrawal?tx_id=1234 HTTP/1.1
Host: localhost:9411
Accept: application/json

    {
        "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
        "vault_id": 1654615998
    }

curl

curl -i -X POST 'https://localhost:9411/false_full_withdrawal?tx_id=1234' -H "Accept: application/json" --data-raw '{

        "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "vault_id": 1654615998

    }'

wget

wget -S -O- 'https://localhost:9411/false_full_withdrawal?tx_id=1234' --header="Accept: application/json" --post-data='{

        "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "vault_id": 1654615998

    }'

httpie

echo '{

        "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "vault_id": 1654615998

    }' | http POST 'https://localhost:9411/false_full_withdrawal?tx_id=1234' Accept:application/json

python-requests

requests.post('https://localhost:9411/false_full_withdrawal?tx_id=1234', headers={'Accept': 'application/json'}, data='{\r\n\n        "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n        "vault_id": 1654615998\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
async full_withdrawal(request)

This function is deprecated and will be deleted in the next version.

Send a full_withdrawal transaction.

Parameters
  • tx_id (int) – Transaction sequence number issued by the caller.

  • data (str) – FullWithdrawal parameters in message body (FullWithdrawalRequest)

Returns

Transaction status (json).

Return type

str

Example

http

POST /full_withdrawal?tx_id=1234 HTTP/1.1
Host: localhost:9411
Accept: application/json

    {
        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
        "vault_id": 1654615998
    }

curl

curl -i -X POST 'https://localhost:9411/full_withdrawal?tx_id=1234' -H "Accept: application/json" --data-raw '{

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "vault_id": 1654615998

    }'

wget

wget -S -O- 'https://localhost:9411/full_withdrawal?tx_id=1234' --header="Accept: application/json" --post-data='{

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "vault_id": 1654615998

    }'

httpie

echo '{

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "vault_id": 1654615998

    }' | http POST 'https://localhost:9411/full_withdrawal?tx_id=1234' Accept:application/json

python-requests

requests.post('https://localhost:9411/full_withdrawal?tx_id=1234', headers={'Accept': 'application/json'}, data='{\r\n\n        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n        "vault_id": 1654615998\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
async new_settlement(request)

This function is deprecated and will be deleted in the next version.

Send a new settlement.

Parameters
  • tx_id (int) – Transaction sequence number issued by the caller.

  • data (str) – Settlement parameters in message body (SettlementRequest)

Returns

Transaction status (json).

Return type

str

Example

http

POST /new_settlement?tx_id=1234 HTTP/1.1
Host: localhost:9411
Accept: application/json

    {
        "party_a_order": {
            "amount_buy": "80",
            "amount_sell": "70",
            "expiration_timestamp": 2171951,
            "nonce": 1654615998,
            "order_type": 0,
            "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",
            "signature": {
                "r": "0x0",
                "s": "0x0"
            },
            "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",
            "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",
            "type": "OrderL2Request",
            "vault_id_buy": 173879092,
            "vault_id_sell": 1806341205
        },
        "party_b_order": {
            "amount_buy": "30",
            "amount_sell": "40",
            "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",
            "expiration_timestamp": 989173,
            "fee_info": {
                "fee_limit": "7",
                "source_vault_id": 1210484339,
                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"
            },
            "nonce": 577090037,
            "order_type": 0,
            "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",
            "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",
            "type": "OrderL1Request",
            "vault_id_buy": 1095513148,
            "vault_id_sell": 271041745
        },
        "settlement_info": {
            "party_a_sold": "30",
            "party_b_fee_info": {
                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
                "destination_vault_id": 1654615998,
                "fee_taken": "1"
            },
            "party_b_sold": "40"
        }
    }

curl

curl -i -X POST 'https://localhost:9411/new_settlement?tx_id=1234' -H "Accept: application/json" --data-raw '{

        "party_a_order": {

            "amount_buy": "80",

            "amount_sell": "70",

            "expiration_timestamp": 2171951,

            "nonce": 1654615998,

            "order_type": 0,

            "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",

            "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",

            "type": "OrderL2Request",

            "vault_id_buy": 173879092,

            "vault_id_sell": 1806341205

        },

        "party_b_order": {

            "amount_buy": "30",

            "amount_sell": "40",

            "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",

            "expiration_timestamp": 989173,

            "fee_info": {

                "fee_limit": "7",

                "source_vault_id": 1210484339,

                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

            },

            "nonce": 577090037,

            "order_type": 0,

            "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",

            "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",

            "type": "OrderL1Request",

            "vault_id_buy": 1095513148,

            "vault_id_sell": 271041745

        },

        "settlement_info": {

            "party_a_sold": "30",

            "party_b_fee_info": {

                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                "destination_vault_id": 1654615998,

                "fee_taken": "1"

            },

            "party_b_sold": "40"

        }

    }'

wget

wget -S -O- 'https://localhost:9411/new_settlement?tx_id=1234' --header="Accept: application/json" --post-data='{

        "party_a_order": {

            "amount_buy": "80",

            "amount_sell": "70",

            "expiration_timestamp": 2171951,

            "nonce": 1654615998,

            "order_type": 0,

            "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",

            "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",

            "type": "OrderL2Request",

            "vault_id_buy": 173879092,

            "vault_id_sell": 1806341205

        },

        "party_b_order": {

            "amount_buy": "30",

            "amount_sell": "40",

            "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",

            "expiration_timestamp": 989173,

            "fee_info": {

                "fee_limit": "7",

                "source_vault_id": 1210484339,

                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

            },

            "nonce": 577090037,

            "order_type": 0,

            "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",

            "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",

            "type": "OrderL1Request",

            "vault_id_buy": 1095513148,

            "vault_id_sell": 271041745

        },

        "settlement_info": {

            "party_a_sold": "30",

            "party_b_fee_info": {

                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                "destination_vault_id": 1654615998,

                "fee_taken": "1"

            },

            "party_b_sold": "40"

        }

    }'

httpie

echo '{

        "party_a_order": {

            "amount_buy": "80",

            "amount_sell": "70",

            "expiration_timestamp": 2171951,

            "nonce": 1654615998,

            "order_type": 0,

            "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",

            "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",

            "type": "OrderL2Request",

            "vault_id_buy": 173879092,

            "vault_id_sell": 1806341205

        },

        "party_b_order": {

            "amount_buy": "30",

            "amount_sell": "40",

            "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",

            "expiration_timestamp": 989173,

            "fee_info": {

                "fee_limit": "7",

                "source_vault_id": 1210484339,

                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

            },

            "nonce": 577090037,

            "order_type": 0,

            "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",

            "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",

            "type": "OrderL1Request",

            "vault_id_buy": 1095513148,

            "vault_id_sell": 271041745

        },

        "settlement_info": {

            "party_a_sold": "30",

            "party_b_fee_info": {

                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                "destination_vault_id": 1654615998,

                "fee_taken": "1"

            },

            "party_b_sold": "40"

        }

    }' | http POST 'https://localhost:9411/new_settlement?tx_id=1234' Accept:application/json

python-requests

requests.post('https://localhost:9411/new_settlement?tx_id=1234', headers={'Accept': 'application/json'}, data='{\r\n\n        "party_a_order": {\r\n\n            "amount_buy": "80",\r\n\n            "amount_sell": "70",\r\n\n            "expiration_timestamp": 2171951,\r\n\n            "nonce": 1654615998,\r\n\n            "order_type": 0,\r\n\n            "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",\r\n\n            "signature": {\r\n\n                "r": "0x0",\r\n\n                "s": "0x0"\r\n\n            },\r\n\n            "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",\r\n\n            "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",\r\n\n            "type": "OrderL2Request",\r\n\n            "vault_id_buy": 173879092,\r\n\n            "vault_id_sell": 1806341205\r\n\n        },\r\n\n        "party_b_order": {\r\n\n            "amount_buy": "30",\r\n\n            "amount_sell": "40",\r\n\n            "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",\r\n\n            "expiration_timestamp": 989173,\r\n\n            "fee_info": {\r\n\n                "fee_limit": "7",\r\n\n                "source_vault_id": 1210484339,\r\n\n                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"\r\n\n            },\r\n\n            "nonce": 577090037,\r\n\n            "order_type": 0,\r\n\n            "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",\r\n\n            "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",\r\n\n            "type": "OrderL1Request",\r\n\n            "vault_id_buy": 1095513148,\r\n\n            "vault_id_sell": 271041745\r\n\n        },\r\n\n        "settlement_info": {\r\n\n            "party_a_sold": "30",\r\n\n            "party_b_fee_info": {\r\n\n                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n                "destination_vault_id": 1654615998,\r\n\n                "fee_taken": "1"\r\n\n            },\r\n\n            "party_b_sold": "40"\r\n\n        }\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
async new_transfer(request)

This function is deprecated and will be deleted in the next version.

Send a new transfer.

Parameters
  • tx_id (int) – Transaction sequence number issued by the caller.

  • data (str) – Transfer parameters in message body (TransferRequest)

Returns

Transaction status (json).

Return type

str

Example

http

POST /new_transfer?tx_id=1234 HTTP/1.1
Host: localhost:9411
Accept: application/json

    {
        "amount": "7106521602475165645",
        "expiration_timestamp": 2728011,
        "fee_info_exchange": {
            "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
            "destination_vault_id": 1654615998,
            "fee_taken": "5"
        },
        "fee_info_user": {
            "fee_limit": "15",
            "source_vault_id": 1210484339,
            "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"
        },
        "nonce": 1806341205,
        "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",
        "receiver_vault_id": 1047589226,
        "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",
        "sender_vault_id": 1358054485,
        "signature": {
            "r": "0x0",
            "s": "0x0"
        },
        "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9"
    }

curl

curl -i -X POST 'https://localhost:9411/new_transfer?tx_id=1234' -H "Accept: application/json" --data-raw '{

        "amount": "7106521602475165645",

        "expiration_timestamp": 2728011,

        "fee_info_exchange": {

            "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "destination_vault_id": 1654615998,

            "fee_taken": "5"

        },

        "fee_info_user": {

            "fee_limit": "15",

            "source_vault_id": 1210484339,

            "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

        },

        "nonce": 1806341205,

        "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

        "receiver_vault_id": 1047589226,

        "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

        "sender_vault_id": 1358054485,

        "signature": {

            "r": "0x0",

            "s": "0x0"

        },

        "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9"

    }'

wget

wget -S -O- 'https://localhost:9411/new_transfer?tx_id=1234' --header="Accept: application/json" --post-data='{

        "amount": "7106521602475165645",

        "expiration_timestamp": 2728011,

        "fee_info_exchange": {

            "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "destination_vault_id": 1654615998,

            "fee_taken": "5"

        },

        "fee_info_user": {

            "fee_limit": "15",

            "source_vault_id": 1210484339,

            "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

        },

        "nonce": 1806341205,

        "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

        "receiver_vault_id": 1047589226,

        "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

        "sender_vault_id": 1358054485,

        "signature": {

            "r": "0x0",

            "s": "0x0"

        },

        "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9"

    }'

httpie

echo '{

        "amount": "7106521602475165645",

        "expiration_timestamp": 2728011,

        "fee_info_exchange": {

            "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "destination_vault_id": 1654615998,

            "fee_taken": "5"

        },

        "fee_info_user": {

            "fee_limit": "15",

            "source_vault_id": 1210484339,

            "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

        },

        "nonce": 1806341205,

        "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

        "receiver_vault_id": 1047589226,

        "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

        "sender_vault_id": 1358054485,

        "signature": {

            "r": "0x0",

            "s": "0x0"

        },

        "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9"

    }' | http POST 'https://localhost:9411/new_transfer?tx_id=1234' Accept:application/json

python-requests

requests.post('https://localhost:9411/new_transfer?tx_id=1234', headers={'Accept': 'application/json'}, data='{\r\n\n        "amount": "7106521602475165645",\r\n\n        "expiration_timestamp": 2728011,\r\n\n        "fee_info_exchange": {\r\n\n            "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n            "destination_vault_id": 1654615998,\r\n\n            "fee_taken": "5"\r\n\n        },\r\n\n        "fee_info_user": {\r\n\n            "fee_limit": "15",\r\n\n            "source_vault_id": 1210484339,\r\n\n            "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"\r\n\n        },\r\n\n        "nonce": 1806341205,\r\n\n        "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",\r\n\n        "receiver_vault_id": 1047589226,\r\n\n        "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",\r\n\n        "sender_vault_id": 1358054485,\r\n\n        "signature": {\r\n\n            "r": "0x0",\r\n\n            "s": "0x0"\r\n\n        },\r\n\n        "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9"\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
async withdraw(request)

This function is deprecated and will be deleted in the next version.

Send a withdrawal transaction.

Parameters
  • tx_id (int) – Transaction sequence number issued by the caller.

  • data (str) – Withdrawal parameters in message body (WithdrawalRequest)

Returns

Transaction status (json).

Return type

str

Example

http

POST /withdraw?tx_id=1234 HTTP/1.1
Host: localhost:9411
Accept: application/json

    {
        "amount": "4029557120079369747",
        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
        "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",
        "vault_id": 1654615998
    }

curl

curl -i -X POST 'https://localhost:9411/withdraw?tx_id=1234' -H "Accept: application/json" --data-raw '{

        "amount": "4029557120079369747",

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

        "vault_id": 1654615998

    }'

wget

wget -S -O- 'https://localhost:9411/withdraw?tx_id=1234' --header="Accept: application/json" --post-data='{

        "amount": "4029557120079369747",

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

        "vault_id": 1654615998

    }'

httpie

echo '{

        "amount": "4029557120079369747",

        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

        "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

        "vault_id": 1654615998

    }' | http POST 'https://localhost:9411/withdraw?tx_id=1234' Accept:application/json

python-requests

requests.post('https://localhost:9411/withdraw?tx_id=1234', headers={'Accept': 'application/json'}, data='{\r\n\n        "amount": "4029557120079369747",\r\n\n        "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n        "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",\r\n\n        "vault_id": 1654615998\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
class services.starkex.gateway.gateway.GatewayServiceVersion2(gateway_config: dict, storage: starkware.storage.storage.Storage)

This is the StarkEx Services HTTP gateway version2 for all external trading interactions.

async add_transaction(request)

Send a new transaction to StarkEx. This function handles all types of StarkEx transactions. Note: The transaction json must contain the object type.

Available tx types:

Parameters
  • tx_id (int) – Transaction sequence number issued by the caller.

  • tx (str) – Transaction type and the specific transaction parameters (listed below)

Returns

Transaction status (json).

Return type

str

Example for a SettlementRequest

http

POST /v2/gateway/add_transaction HTTP/1.1
Host: localhost:9411
Accept: application/json

            {
        "tx": {
            "party_a_order": {
                "amount_buy": "80",
                "amount_sell": "70",
                "expiration_timestamp": 2171951,
                "nonce": 1654615998,
                "order_type": 0,
                "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",
                "signature": {
                    "r": "0x0",
                    "s": "0x0"
                },
                "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",
                "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",
                "type": "OrderL2Request",
                "vault_id_buy": 173879092,
                "vault_id_sell": 1806341205
            },
            "party_b_order": {
                "amount_buy": "30",
                "amount_sell": "40",
                "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",
                "expiration_timestamp": 989173,
                "fee_info": {
                    "fee_limit": "7",
                    "source_vault_id": 1210484339,
                    "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"
                },
                "nonce": 577090037,
                "order_type": 0,
                "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",
                "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",
                "type": "OrderL1Request",
                "vault_id_buy": 1095513148,
                "vault_id_sell": 271041745
            },
            "settlement_info": {
                "party_a_sold": "30",
                "party_b_fee_info": {
                    "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
                    "destination_vault_id": 1654615998,
                    "fee_taken": "1"
                },
                "party_b_sold": "40"
            },
            "type": "SettlementRequest"
        },
        "tx_id": 1234
    }

curl

curl -i -X POST https://localhost:9411/v2/gateway/add_transaction -H "Accept: application/json" --data-raw '{

        "tx": {

            "party_a_order": {

                "amount_buy": "80",

                "amount_sell": "70",

                "expiration_timestamp": 2171951,

                "nonce": 1654615998,

                "order_type": 0,

                "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",

                "signature": {

                    "r": "0x0",

                    "s": "0x0"

                },

                "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",

                "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",

                "type": "OrderL2Request",

                "vault_id_buy": 173879092,

                "vault_id_sell": 1806341205

            },

            "party_b_order": {

                "amount_buy": "30",

                "amount_sell": "40",

                "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",

                "expiration_timestamp": 989173,

                "fee_info": {

                    "fee_limit": "7",

                    "source_vault_id": 1210484339,

                    "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

                },

                "nonce": 577090037,

                "order_type": 0,

                "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",

                "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",

                "type": "OrderL1Request",

                "vault_id_buy": 1095513148,

                "vault_id_sell": 271041745

            },

            "settlement_info": {

                "party_a_sold": "30",

                "party_b_fee_info": {

                    "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                    "destination_vault_id": 1654615998,

                    "fee_taken": "1"

                },

                "party_b_sold": "40"

            },

            "type": "SettlementRequest"

        },

        "tx_id": 1234

    }'

wget

wget -S -O- https://localhost:9411/v2/gateway/add_transaction --header="Accept: application/json" --post-data='{

        "tx": {

            "party_a_order": {

                "amount_buy": "80",

                "amount_sell": "70",

                "expiration_timestamp": 2171951,

                "nonce": 1654615998,

                "order_type": 0,

                "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",

                "signature": {

                    "r": "0x0",

                    "s": "0x0"

                },

                "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",

                "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",

                "type": "OrderL2Request",

                "vault_id_buy": 173879092,

                "vault_id_sell": 1806341205

            },

            "party_b_order": {

                "amount_buy": "30",

                "amount_sell": "40",

                "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",

                "expiration_timestamp": 989173,

                "fee_info": {

                    "fee_limit": "7",

                    "source_vault_id": 1210484339,

                    "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

                },

                "nonce": 577090037,

                "order_type": 0,

                "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",

                "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",

                "type": "OrderL1Request",

                "vault_id_buy": 1095513148,

                "vault_id_sell": 271041745

            },

            "settlement_info": {

                "party_a_sold": "30",

                "party_b_fee_info": {

                    "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                    "destination_vault_id": 1654615998,

                    "fee_taken": "1"

                },

                "party_b_sold": "40"

            },

            "type": "SettlementRequest"

        },

        "tx_id": 1234

    }'

httpie

echo '{

        "tx": {

            "party_a_order": {

                "amount_buy": "80",

                "amount_sell": "70",

                "expiration_timestamp": 2171951,

                "nonce": 1654615998,

                "order_type": 0,

                "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",

                "signature": {

                    "r": "0x0",

                    "s": "0x0"

                },

                "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",

                "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",

                "type": "OrderL2Request",

                "vault_id_buy": 173879092,

                "vault_id_sell": 1806341205

            },

            "party_b_order": {

                "amount_buy": "30",

                "amount_sell": "40",

                "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",

                "expiration_timestamp": 989173,

                "fee_info": {

                    "fee_limit": "7",

                    "source_vault_id": 1210484339,

                    "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

                },

                "nonce": 577090037,

                "order_type": 0,

                "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",

                "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",

                "type": "OrderL1Request",

                "vault_id_buy": 1095513148,

                "vault_id_sell": 271041745

            },

            "settlement_info": {

                "party_a_sold": "30",

                "party_b_fee_info": {

                    "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                    "destination_vault_id": 1654615998,

                    "fee_taken": "1"

                },

                "party_b_sold": "40"

            },

            "type": "SettlementRequest"

        },

        "tx_id": 1234

    }' | http POST https://localhost:9411/v2/gateway/add_transaction Accept:application/json

python-requests

requests.post('https://localhost:9411/v2/gateway/add_transaction', headers={'Accept': 'application/json'}, data='{\r\n\n        "tx": {\r\n\n            "party_a_order": {\r\n\n                "amount_buy": "80",\r\n\n                "amount_sell": "70",\r\n\n                "expiration_timestamp": 2171951,\r\n\n                "nonce": 1654615998,\r\n\n                "order_type": 0,\r\n\n                "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",\r\n\n                "signature": {\r\n\n                    "r": "0x0",\r\n\n                    "s": "0x0"\r\n\n                },\r\n\n                "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",\r\n\n                "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",\r\n\n                "type": "OrderL2Request",\r\n\n                "vault_id_buy": 173879092,\r\n\n                "vault_id_sell": 1806341205\r\n\n            },\r\n\n            "party_b_order": {\r\n\n                "amount_buy": "30",\r\n\n                "amount_sell": "40",\r\n\n                "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",\r\n\n                "expiration_timestamp": 989173,\r\n\n                "fee_info": {\r\n\n                    "fee_limit": "7",\r\n\n                    "source_vault_id": 1210484339,\r\n\n                    "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"\r\n\n                },\r\n\n                "nonce": 577090037,\r\n\n                "order_type": 0,\r\n\n                "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",\r\n\n                "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",\r\n\n                "type": "OrderL1Request",\r\n\n                "vault_id_buy": 1095513148,\r\n\n                "vault_id_sell": 271041745\r\n\n            },\r\n\n            "settlement_info": {\r\n\n                "party_a_sold": "30",\r\n\n                "party_b_fee_info": {\r\n\n                    "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n                    "destination_vault_id": 1654615998,\r\n\n                    "fee_taken": "1"\r\n\n                },\r\n\n                "party_b_sold": "40"\r\n\n            },\r\n\n            "type": "SettlementRequest"\r\n\n        },\r\n\n        "tx_id": 1234\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
Example for a TransferRequest

http

POST /v2/gateway/add_transaction HTTP/1.1
Host: localhost:9411
Accept: application/json

            {
        "tx": {
            "amount": "7106521602475165645",
            "expiration_timestamp": 2728011,
            "fee_info_exchange": {
                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
                "destination_vault_id": 1654615998,
                "fee_taken": "5"
            },
            "fee_info_user": {
                "fee_limit": "15",
                "source_vault_id": 1210484339,
                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"
            },
            "nonce": 1806341205,
            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",
            "receiver_vault_id": 1047589226,
            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",
            "sender_vault_id": 1358054485,
            "signature": {
                "r": "0x0",
                "s": "0x0"
            },
            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",
            "type": "TransferRequest"
        },
        "tx_id": 1234
    }

curl

curl -i -X POST https://localhost:9411/v2/gateway/add_transaction -H "Accept: application/json" --data-raw '{

        "tx": {

            "amount": "7106521602475165645",

            "expiration_timestamp": 2728011,

            "fee_info_exchange": {

                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                "destination_vault_id": 1654615998,

                "fee_taken": "5"

            },

            "fee_info_user": {

                "fee_limit": "15",

                "source_vault_id": 1210484339,

                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

            },

            "nonce": 1806341205,

            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

            "receiver_vault_id": 1047589226,

            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

            "sender_vault_id": 1358054485,

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",

            "type": "TransferRequest"

        },

        "tx_id": 1234

    }'

wget

wget -S -O- https://localhost:9411/v2/gateway/add_transaction --header="Accept: application/json" --post-data='{

        "tx": {

            "amount": "7106521602475165645",

            "expiration_timestamp": 2728011,

            "fee_info_exchange": {

                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                "destination_vault_id": 1654615998,

                "fee_taken": "5"

            },

            "fee_info_user": {

                "fee_limit": "15",

                "source_vault_id": 1210484339,

                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

            },

            "nonce": 1806341205,

            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

            "receiver_vault_id": 1047589226,

            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

            "sender_vault_id": 1358054485,

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",

            "type": "TransferRequest"

        },

        "tx_id": 1234

    }'

httpie

echo '{

        "tx": {

            "amount": "7106521602475165645",

            "expiration_timestamp": 2728011,

            "fee_info_exchange": {

                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

                "destination_vault_id": 1654615998,

                "fee_taken": "5"

            },

            "fee_info_user": {

                "fee_limit": "15",

                "source_vault_id": 1210484339,

                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"

            },

            "nonce": 1806341205,

            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

            "receiver_vault_id": 1047589226,

            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

            "sender_vault_id": 1358054485,

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",

            "type": "TransferRequest"

        },

        "tx_id": 1234

    }' | http POST https://localhost:9411/v2/gateway/add_transaction Accept:application/json

python-requests

requests.post('https://localhost:9411/v2/gateway/add_transaction', headers={'Accept': 'application/json'}, data='{\r\n\n        "tx": {\r\n\n            "amount": "7106521602475165645",\r\n\n            "expiration_timestamp": 2728011,\r\n\n            "fee_info_exchange": {\r\n\n                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n                "destination_vault_id": 1654615998,\r\n\n                "fee_taken": "5"\r\n\n            },\r\n\n            "fee_info_user": {\r\n\n                "fee_limit": "15",\r\n\n                "source_vault_id": 1210484339,\r\n\n                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"\r\n\n            },\r\n\n            "nonce": 1806341205,\r\n\n            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",\r\n\n            "receiver_vault_id": 1047589226,\r\n\n            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",\r\n\n            "sender_vault_id": 1358054485,\r\n\n            "signature": {\r\n\n                "r": "0x0",\r\n\n                "s": "0x0"\r\n\n            },\r\n\n            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",\r\n\n            "type": "TransferRequest"\r\n\n        },\r\n\n        "tx_id": 1234\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
Example for a ConditionalTransferRequest

http

POST /v2/gateway/add_transaction HTTP/1.1
Host: localhost:9411
Accept: application/json

            {
        "tx": {
            "amount": "7106521602475165645",
            "expiration_timestamp": 2728011,
            "fact": "cd7110159df66d2b4164484d6440f7099f8492f5c20d4cde01009b0d4ab85bbf",
            "fact_registry_address": "0xCc6E2d20cC5AaFDCa329bA2d63e5ba5edD684B2F",
            "nonce": 1806341205,
            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",
            "receiver_vault_id": 1047589226,
            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",
            "sender_vault_id": 1358054485,
            "signature": {
                "r": "0x0",
                "s": "0x0"
            },
            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",
            "type": "ConditionalTransferRequest"
        },
        "tx_id": 1234
    }

curl

curl -i -X POST https://localhost:9411/v2/gateway/add_transaction -H "Accept: application/json" --data-raw '{

        "tx": {

            "amount": "7106521602475165645",

            "expiration_timestamp": 2728011,

            "fact": "cd7110159df66d2b4164484d6440f7099f8492f5c20d4cde01009b0d4ab85bbf",

            "fact_registry_address": "0xCc6E2d20cC5AaFDCa329bA2d63e5ba5edD684B2F",

            "nonce": 1806341205,

            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

            "receiver_vault_id": 1047589226,

            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

            "sender_vault_id": 1358054485,

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",

            "type": "ConditionalTransferRequest"

        },

        "tx_id": 1234

    }'

wget

wget -S -O- https://localhost:9411/v2/gateway/add_transaction --header="Accept: application/json" --post-data='{

        "tx": {

            "amount": "7106521602475165645",

            "expiration_timestamp": 2728011,

            "fact": "cd7110159df66d2b4164484d6440f7099f8492f5c20d4cde01009b0d4ab85bbf",

            "fact_registry_address": "0xCc6E2d20cC5AaFDCa329bA2d63e5ba5edD684B2F",

            "nonce": 1806341205,

            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

            "receiver_vault_id": 1047589226,

            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

            "sender_vault_id": 1358054485,

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",

            "type": "ConditionalTransferRequest"

        },

        "tx_id": 1234

    }'

httpie

echo '{

        "tx": {

            "amount": "7106521602475165645",

            "expiration_timestamp": 2728011,

            "fact": "cd7110159df66d2b4164484d6440f7099f8492f5c20d4cde01009b0d4ab85bbf",

            "fact_registry_address": "0xCc6E2d20cC5AaFDCa329bA2d63e5ba5edD684B2F",

            "nonce": 1806341205,

            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",

            "receiver_vault_id": 1047589226,

            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",

            "sender_vault_id": 1358054485,

            "signature": {

                "r": "0x0",

                "s": "0x0"

            },

            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",

            "type": "ConditionalTransferRequest"

        },

        "tx_id": 1234

    }' | http POST https://localhost:9411/v2/gateway/add_transaction Accept:application/json

python-requests

requests.post('https://localhost:9411/v2/gateway/add_transaction', headers={'Accept': 'application/json'}, data='{\r\n\n        "tx": {\r\n\n            "amount": "7106521602475165645",\r\n\n            "expiration_timestamp": 2728011,\r\n\n            "fact": "cd7110159df66d2b4164484d6440f7099f8492f5c20d4cde01009b0d4ab85bbf",\r\n\n            "fact_registry_address": "0xCc6E2d20cC5AaFDCa329bA2d63e5ba5edD684B2F",\r\n\n            "nonce": 1806341205,\r\n\n            "receiver_public_key": "0x5548582de1b372ad3fbf47a7e5b1e7f9ca5499d004ae545a0116be5ab0c1681",\r\n\n            "receiver_vault_id": 1047589226,\r\n\n            "sender_public_key": "0x6f25e2a5a92118719c78df48f4ff31e78de58575487ce1eaf19922ad9b8a714",\r\n\n            "sender_vault_id": 1358054485,\r\n\n            "signature": {\r\n\n                "r": "0x0",\r\n\n                "s": "0x0"\r\n\n            },\r\n\n            "token": "0x71545a17a1d50068d723104f77383c13458a748e9bb17bca3f2c9bf9c6316b9",\r\n\n            "type": "ConditionalTransferRequest"\r\n\n        },\r\n\n        "tx_id": 1234\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
Example for a DepositRequest

http

POST /v2/gateway/add_transaction HTTP/1.1
Host: localhost:9411
Accept: application/json

            {
        "tx": {
            "amount": "4029557120079369747",
            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
            "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",
            "type": "DepositRequest",
            "vault_id": 1654615998
        },
        "tx_id": 1234
    }

curl

curl -i -X POST https://localhost:9411/v2/gateway/add_transaction -H "Accept: application/json" --data-raw '{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "DepositRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

wget

wget -S -O- https://localhost:9411/v2/gateway/add_transaction --header="Accept: application/json" --post-data='{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "DepositRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

httpie

echo '{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "DepositRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }' | http POST https://localhost:9411/v2/gateway/add_transaction Accept:application/json

python-requests

requests.post('https://localhost:9411/v2/gateway/add_transaction', headers={'Accept': 'application/json'}, data='{\r\n\n        "tx": {\r\n\n            "amount": "4029557120079369747",\r\n\n            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n            "token_id": "0x2dd48fd7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",\r\n\n            "type": "DepositRequest",\r\n\n            "vault_id": 1654615998\r\n\n        },\r\n\n        "tx_id": 1234\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
Example for a MintRequest

http

POST /v2/gateway/add_transaction HTTP/1.1
Host: localhost:9411
Accept: application/json

            {
        "tx": {
            "amount": "4029557120079369747",
            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
            "token_id": "0x400b7527a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",
            "type": "MintRequest",
            "vault_id": 1654615998
        },
        "tx_id": 1234
    }

curl

curl -i -X POST https://localhost:9411/v2/gateway/add_transaction -H "Accept: application/json" --data-raw '{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x400b7527a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "MintRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

wget

wget -S -O- https://localhost:9411/v2/gateway/add_transaction --header="Accept: application/json" --post-data='{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x400b7527a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "MintRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

httpie

echo '{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x400b7527a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "MintRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }' | http POST https://localhost:9411/v2/gateway/add_transaction Accept:application/json

python-requests

requests.post('https://localhost:9411/v2/gateway/add_transaction', headers={'Accept': 'application/json'}, data='{\r\n\n        "tx": {\r\n\n            "amount": "4029557120079369747",\r\n\n            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n            "token_id": "0x400b7527a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",\r\n\n            "type": "MintRequest",\r\n\n            "vault_id": 1654615998\r\n\n        },\r\n\n        "tx_id": 1234\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
Example for a WithdrawalRequest

http

POST /v2/gateway/add_transaction HTTP/1.1
Host: localhost:9411
Accept: application/json

            {
        "tx": {
            "amount": "4029557120079369747",
            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
            "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",
            "type": "WithdrawalRequest",
            "vault_id": 1654615998
        },
        "tx_id": 1234
    }

curl

curl -i -X POST https://localhost:9411/v2/gateway/add_transaction -H "Accept: application/json" --data-raw '{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "WithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

wget

wget -S -O- https://localhost:9411/v2/gateway/add_transaction --header="Accept: application/json" --post-data='{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "WithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

httpie

echo '{

        "tx": {

            "amount": "4029557120079369747",

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",

            "type": "WithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }' | http POST https://localhost:9411/v2/gateway/add_transaction Accept:application/json

python-requests

requests.post('https://localhost:9411/v2/gateway/add_transaction', headers={'Accept': 'application/json'}, data='{\r\n\n        "tx": {\r\n\n            "amount": "4029557120079369747",\r\n\n            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n            "token_id": "0x5ba91fa7a024204f7c1bd874da5e709d4713d60c8a70639eb1167b367a9c378",\r\n\n            "type": "WithdrawalRequest",\r\n\n            "vault_id": 1654615998\r\n\n        },\r\n\n        "tx_id": 1234\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
Example for a FullWithdrawalRequest

http

POST /v2/gateway/add_transaction HTTP/1.1
Host: localhost:9411
Accept: application/json

            {
        "tx": {
            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
            "type": "FullWithdrawalRequest",
            "vault_id": 1654615998
        },
        "tx_id": 1234
    }

curl

curl -i -X POST https://localhost:9411/v2/gateway/add_transaction -H "Accept: application/json" --data-raw '{

        "tx": {

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "type": "FullWithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

wget

wget -S -O- https://localhost:9411/v2/gateway/add_transaction --header="Accept: application/json" --post-data='{

        "tx": {

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "type": "FullWithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

httpie

echo '{

        "tx": {

            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "type": "FullWithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }' | http POST https://localhost:9411/v2/gateway/add_transaction Accept:application/json

python-requests

requests.post('https://localhost:9411/v2/gateway/add_transaction', headers={'Accept': 'application/json'}, data='{\r\n\n        "tx": {\r\n\n            "stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n            "type": "FullWithdrawalRequest",\r\n\n            "vault_id": 1654615998\r\n\n        },\r\n\n        "tx_id": 1234\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
Example for a FalseFullWithdrawalRequest

http

POST /v2/gateway/add_transaction HTTP/1.1
Host: localhost:9411
Accept: application/json

            {
        "tx": {
            "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
            "type": "FalseFullWithdrawalRequest",
            "vault_id": 1654615998
        },
        "tx_id": 1234
    }

curl

curl -i -X POST https://localhost:9411/v2/gateway/add_transaction -H "Accept: application/json" --data-raw '{

        "tx": {

            "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "type": "FalseFullWithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

wget

wget -S -O- https://localhost:9411/v2/gateway/add_transaction --header="Accept: application/json" --post-data='{

        "tx": {

            "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "type": "FalseFullWithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }'

httpie

echo '{

        "tx": {

            "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",

            "type": "FalseFullWithdrawalRequest",

            "vault_id": 1654615998

        },

        "tx_id": 1234

    }' | http POST https://localhost:9411/v2/gateway/add_transaction Accept:application/json

python-requests

requests.post('https://localhost:9411/v2/gateway/add_transaction', headers={'Accept': 'application/json'}, data='{\r\n\n        "tx": {\r\n\n            "requester_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",\r\n\n            "type": "FalseFullWithdrawalRequest",\r\n\n            "vault_id": 1654615998\r\n\n        },\r\n\n        "tx_id": 1234\r\n\n    }')

response

HTTP/1.1 200 OK
Content-Type: application/json

{"code": "TRANSACTION_PENDING"}
async get_first_unused_tx_id(request)

Gets the next transaction id that all of its predecessors exist in the system. If no ids exist in the system - then 0 will be returned.

While most of the time this implies the next tx_id used should be the returned value, this is not guaranteed, since while this value is returned, some new transaction may be written, rendering the returned response irrelevant.

Returns

The next consecutive tx_id, all of its predecessors exist in our system.

Return type

int

Example

http

GET /get_first_unused_tx_id HTTP/1.1
Host: localhost:9411
Accept: application/json

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Length: 8

5678

curl

curl -i -X GET https://localhost:9411/get_first_unused_tx_id -H "Accept: application/json" --data-raw 'HTTP/1.1 200 OK

Content-Type: text/plain; charset=utf-8

Content-Length: 8



5678'

wget

wget -S -O- https://localhost:9411/get_first_unused_tx_id --header="Accept: application/json" --body-data='HTTP/1.1 200 OK

Content-Type: text/plain; charset=utf-8

Content-Length: 8



5678'

httpie

echo 'HTTP/1.1 200 OK

Content-Type: text/plain; charset=utf-8

Content-Length: 8



5678' | http https://localhost:9411/get_first_unused_tx_id Accept:application/json

python-requests

requests.get('https://localhost:9411/get_first_unused_tx_id', headers={'Accept': 'application/json'}, data='HTTP/1.1 200 OK\r\n\nContent-Type: text/plain; charset=utf-8\r\n\nContent-Length: 8\r\n\n\r\n\n5678')
async get_stark_dex_address(request)

Get the StarkEx contract address. This is the address used for registering keys and tokens, and performing onchain deposits and withdrawals.

Returns

On-chain StarkEx contract address.

Return type

str

Example

http

GET /testing/get_stark_dex_address HTTP/1.1
Host: localhost:9411
Accept: application/json

curl

curl -i -X GET https://localhost:9411/testing/get_stark_dex_address -H "Accept: application/json"

wget

wget -S -O- https://localhost:9411/testing/get_stark_dex_address --header="Accept: application/json"

httpie

http https://localhost:9411/testing/get_stark_dex_address Accept:application/json

python-requests

requests.get('https://localhost:9411/testing/get_stark_dex_address', headers={'Accept': 'application/json'})

response

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Length: 44

"0x8013A6840804aA0DC68f544cBa0a9baF1bE2315A"
async get_time_spent_by_oldest_unaccepted_tx_in_system(request)

Returns the time (in seconds) that the tx_id following the last tx_id accepted on-chain has spent in the system. Returns -1 if no such tx_id exists.

For example, if the last accepted transaction was with tx id 100, this function will return the time spent in the system of transaction with tx id 101, in case this transaction exists and -1 otherwise.

Returns

Time spent in the system of the next tx id which was not accepted onchain.

Return type

int

Example

http

GET /get_time_spent_by_oldest_unaccepted_tx_in_system HTTP/1.1
Host: localhost:9411
Accept: application/json

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Length: 8

120

curl

curl -i -X GET https://localhost:9411/get_time_spent_by_oldest_unaccepted_tx_in_system -H "Accept: application/json" --data-raw 'HTTP/1.1 200 OK

Content-Type: text/plain; charset=utf-8

Content-Length: 8



120'

wget

wget -S -O- https://localhost:9411/get_time_spent_by_oldest_unaccepted_tx_in_system --header="Accept: application/json" --body-data='HTTP/1.1 200 OK

Content-Type: text/plain; charset=utf-8

Content-Length: 8



120'

httpie

echo 'HTTP/1.1 200 OK

Content-Type: text/plain; charset=utf-8

Content-Length: 8



120' | http https://localhost:9411/get_time_spent_by_oldest_unaccepted_tx_in_system Accept:application/json

python-requests

requests.get('https://localhost:9411/get_time_spent_by_oldest_unaccepted_tx_in_system', headers={'Accept': 'application/json'}, data='HTTP/1.1 200 OK\r\n\nContent-Type: text/plain; charset=utf-8\r\n\nContent-Length: 8\r\n\n\r\n\n120')
async get_transaction(request)

Get specific transaction’s information.

Parameters

tx_id (int) – Transaction ID to query.

Returns

Information of the queried transaction (json).

Return type

str

Example

http

GET /v2/gateway/get_transaction?tx_id=1234 HTTP/1.1
Host: localhost:9411
Accept: application/json

curl

curl -i -X GET 'https://localhost:9411/v2/gateway/get_transaction?tx_id=1234' -H "Accept: application/json"

wget

wget -S -O- 'https://localhost:9411/v2/gateway/get_transaction?tx_id=1234' --header="Accept: application/json"

httpie

http 'https://localhost:9411/v2/gateway/get_transaction?tx_id=1234' Accept:application/json

python-requests

requests.get('https://localhost:9411/v2/gateway/get_transaction?tx_id=1234', headers={'Accept': 'application/json'})

response

HTTP/1.1 200 OK
Content-Type: application/json

    {
        "party_a_order": {
            "amount_buy": "80",
            "amount_sell": "70",
            "expiration_timestamp": 2171951,
            "nonce": 1654615998,
            "order_type": 0,
            "public_key": "0x4da5e70d4713d60c8a70639eb1167b367a9c3787c65c1e582e2e662f728b4fa",
            "signature": {
                "r": "0x0",
                "s": "0x0"
            },
            "token_buy": "0x22222222222222222222222222222222222222222222222222222222222222",
            "token_sell": "0x11111111111111111111111111111111111111111111111111111111111111",
            "type": "OrderL2Request",
            "vault_id_buy": 173879092,
            "vault_id_sell": 1806341205
        },
        "party_b_order": {
            "amount_buy": "30",
            "amount_sell": "40",
            "eth_address": "0xa9eb20c9A09F5eD00BE849049a554A60CCe4fC27",
            "expiration_timestamp": 989173,
            "fee_info": {
                "fee_limit": "7",
                "source_vault_id": 1210484339,
                "token_id": "0x23a77118133287637ebdcd9e87a1613e443df789558867f5ba91faf7a024204"
            },
            "nonce": 577090037,
            "order_type": 0,
            "token_buy": "0x11111111111111111111111111111111111111111111111111111111111111",
            "token_sell": "0x22222222222222222222222222222222222222222222222222222222222222",
            "type": "OrderL1Request",
            "vault_id_buy": 1095513148,
            "vault_id_sell": 271041745
        },
        "settlement_info": {
            "party_a_sold": "30",
            "party_b_fee_info": {
                "destination_stark_key": "0x7c65c1e82e2e662f728b4fa42485e3a0a5d2f346baa9455e3e70682c2094cac",
                "destination_vault_id": 1654615998,
                "fee_taken": "1"
            },
            "party_b_sold": "40"
        },
        "type": "SettlementRequest"
    }