NAV Navbar
shell
  • Introduction
  • Orders
  • Orders Webhooks
  • Wallets
  • Wallet addresses
  • Wallet's address transactions
  • Wallet's transactions
  • Wallet's webhooks
  • Wallet's payment forwarding
  • Wallet's seed
  • Wallet's contracts
  • Rates
  • Errors
  • Introduction

    Common

    This is a documentation for public https://cryptoprocessing.io service. Before using this API you need to get API keys of the related page in your personal account.

    Idempotent Requests

    curl "https://cryptoprocessing.io/api/v1/ping" \
      -H "Authorization: <jwt token>" \
      -H "Idempotency-Key: 60Nk1zqhQJDoFnKj"
    

    The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a charge fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single charge is created.

    GET and DELETE requests are idempotent by definition, meaning that the same backend work will occur no matter how many times the same request is issued. You shouldn't send an idempotency key with these verbs because it will have no effect.

    To perform an idempotent request, provide an additional Idempotency-Key: header to the request.

    How you create unique keys is up to you, but we suggest using V4 UUIDs or another appropriately random string. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.

    Request IDs

    Each API request has an associated request identifier. You can find this value in the response headers, under Request-Id. You can also find request identifiers in the URLs of individual request logs in your Dashboard. If you need to contact us about a specific request, providing the request identifier will ensure the fastest possible resolution.

    Pagination

    All top-level API resources have support for bulk fetches via "list" API methods. For instance, you can list transactions, wallets. These list API methods share a common structure, taking at least these two parameters: page and limit.

    Argument Description
    page Pagination starts at page 1, not at page 0 (page 0 will return the same results as page 1)
    limit A limit on the number if objects to be returned. (default 25, max 100)

    Dates

    All dates should be passed and will be formatted according with iso8601 - YYYY-MM-DDTHH:mm:ss.sssZ (ex. 2018-04-10T14:48:00.000Z)

    Orders

    Order object

    Example

    {
        "id": "d5b1002e-06dc-4bc4-bd02-d52f2a8c0b9c",
        "created_at": "2018-08-17T13:09:09.822Z",
        "updated_at": "2018-08-17T17:04:55.626Z",
        "amount": 40.0,
        "currency": "EUR",
        "status": "SUCCESS",
        "secret_for_success_redirect": "some_secret_key1",
        "secret_for_fail_redirect": "some_secret_key2",
        "external_payout_address": "2N5kUa6RqcDx8NZsuLQFkifumUz9gCWC54M",
        "external_payout_currency": "BTC"
    }
    

    Represents order object

    Attributes:

    Attribute Description
    id Order UUID
    created_at Order creation date and time
    updated_at Order updated at date and time
    amount Order's amount value, big float (up to 18 decimals)
    currency Order's currency. Available options: ["BTC", "ETH", "EUR", "RUB", "USD"]
    status Order's status. Available options: ["NEW", "PROCESSING", "PENDING", "SUCCESS", "FAIL"]
    external_payout_address Payout address related to pyout currency
    external_payout_currency Payout currency (what merchant takes)
    secret_for_success_redirect Some secret key which will be included in GET params for success redirect endpoint
    secret_for_fail_redirect Some secret key which will be included in GET params for fail redirect endpoint

    Create order

    Creates order

    POST https://cryptoprocessing.io/api/v1/orders

    Example request

    curl "https://cryptoprocessing.io/api/v1/orders" \
      -H "Authorization:  <jwt token>" \
      -H "Content-Type: application/json" \
      -H 'Idempotency-Key: bc4541e5-29b1-484e-89ad-ee9e7deba1c9' \
      -X POST \
      -d '{ "amount":50, "currency":"EUR", "external_payout_currency":"BTC", "external_payout_address":"2N5kUa6RqcDx8NZsuLQFkifumUz9gCWC54M" }'
    

    The above command returns JSON structured like this:

    {
      "data": {
        "id": "9bf8fec7-bc12-446f-a1a4-7ec4d5caa3d3",
        "created_at": "2018-08-17T18:39:12.106Z",
        "updated_at": "2018-08-17T18:39:13.217Z",
        "amount": "50.0",
        "currency": "EUR",
        "status": "NEW",
        "external_payout_address": "2N5kUa6RqcDx8NZsuLQFkifumUz9gCWC54M",
        "external_payout_currency": "BTC",
        "secret_for_success_redirect": "e5f295460e5e7b9c57fb2413f0e67598",
        "secret_for_fail_redirect": "023a4207e7286c216396b8508ddfdd0b"
        "payment_url": "http://cryptoprocessing.io/orders/9bf8fec7-bc12-446f-a1a4-7ec4d5caa3d3/pay"
      }
    }
    

    Test Cards

    For test transactions at https://testnet.cryptoprocessing.io you may use:

    Card Number Description
    4000 0000 0000 0002 will be CONFIRMED as 3DS transaction
    5555 5555 5555 4444 will be DECLINED as 3DS transaction
    4000 0000 0000 0077 will be CONFIRMED as non-3DS transaction
    5555 5555 5555 4477 will be DECLINED as non-3DS transaction

    Testnet crypto will be transferred to your Merchant Wallet.

    Orders Webhooks

    Order webhook object

    You may set JSON Webhook Endpoint at /orders page and get callbacks in such format:

    {
        "order": {
            "id": "d2c91662-33d2-45f1-bae6-61ee13d07825",
            "created_at": "Sun, 26 Aug 2018 16:41:09 UTC +00:00",
            "updated_at": "Sun, 26 Aug 2018 16:41:10 UTC +00:00",
            "amount": 30,
            "currency": "EUR",
            "status": "NEW",
            "external_payout_address": null,
            "external_payout_currency": "BTC",
            "idempotency_key": "fuckinguniquekey1"
        }
    }
    

    idempotency_key is also persists in Headers. The value is exact token you set while order creating.

    Wallets

    Wallet object

    Example

    {
        "id": "a0f1f57d-322e-4a90-9f60-ca17387fa2c5",
        "name": "main",
        "currency": "BTC",
        "human": "Main BTC Wallet",
        "description": "Default BTC wallet with multiple addresses",
        "system_fee_percent": "0.0",
        "merchant_fee_percent": "0.0",
        "balance": "1.948",
        "created_at": "2018-08-14T16:44:26.925Z",
        "updated_at": "2018-08-21T12:22:37.391Z"
    }
    

    Represents wallet object

    Attributes:

    Attribute Description
    id Wallet ID
    name Wallet name
    currency Wallet's currency. Available options: ["BTC", "ETH", "EUR", "RUB", "USD"]
    human Wallet full name
    description Wallet description
    system_fee_percent Processing fee percent
    merchant_fee_percent Merchant fee percent
    balance Wallet balance (by default this field is present only for requesting a specific wallet, you need to add an extra parameter when you request an array of wallets so that the balance is displayed)
    created_at Wallet creation date and time
    updated_at Wallet updated date and time

    Create wallet

    POST https://cryptoprocessing.io/api/v1/wallets

    Example request

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -H 'Idempotency-Key: 7952c055-b8a1-498e-b0ea-737985e954c0' \
      -d '{
        "name": "crypto_btc",
        "currency": "BTC",
        "human": "Crypto BTC",
        "description": "For inner use of the new crypto-exchange"
    }'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "id": "8961afc0-e2da-4807-a517-e82909c135ee",
            "name": "crypto_btc",
            "currency": "BTC",
            "human": "Crypto BTC",
            "description": "For inner use of the new crypto-exchange",
            "system_fee_percent": "1.0",
            "merchant_fee_percent": "0.0",
            "created_at": "2018-08-29T10:51:39.283Z",
            "updated_at": "2018-08-29T10:51:39.881Z"
        }
    }
    

    Create wallet by seed phrase

    GET https://cryptoprocessing.io/api/v1/wallets/:wallet_id/seed

    Example request

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/seed \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -H 'Idempotency-Key: <token>' \
      -d '{
        "seed": "task olympic spoon remove answer method divert wet stick stuff cause trick",
        "name": "Wallet name",
        "currency": "BTC",
        "segwit_type": "native",
        "human": "Human name",
        "description": "Some description"
    }'
    

    Example response

    {
        "data": {
            "id": "8961afc0-e2da-4807-a517-e82909c135ee",
            "name": "Wallet name",
            "currency": "BTC",
            "human": "Human name",
            "description": "Some description",
            "system_fee_percent": "1.0",
            "merchant_fee_percent": "0.0",
            "created_at": "2018-08-29T10:51:39.283Z",
            "updated_at": "2018-08-29T10:51:39.881Z"
        }
    }
    

    Return wallet

    POST https://cryptoprocessing.io/api/v1/wallet/:id

    Example request

    curl -X GET \
      https://cryptoprocessing.io/api/v1/wallets/f17dc388-c93d-4934-87ca-b830151cb837 \
      -H 'Authorization: <jwt token>' \
      -H 'Cache-Control: no-cache' \
      -H 'Content-Type: application/json'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "id": "f17dc388-c93d-4934-87ca-b830151cb837",
            "name": "main",
            "currency": "ETH",
            "human": "Main ETH Wallet",
            "description": "Default ETH wallet with multiple addresses",
            "system_fee_percent": "1.0",
            "merchant_fee_percent": "0.0",
            "balance": "0.5459715561",
            "created_at": "2018-09-03T07:02:15.860Z",
            "updated_at": "2018-09-03T07:02:16.195Z"
        }
    }
    

    Wallets without balances

    GET https://cryptoprocessing.io/api/v1/wallets?page=1&limit=20

    Example request

    curl -X GET \
      'https://cryptoprocessing.io/api/v1/wallets?page=1&limit=20' \
      -H 'Authorization: <jwt token>' \
      -H "Content-Type: application/json"
    

    The above command returns JSON structured like this:

    {
        "_metadata": {
            "total": 5,
            "current_page": 1,
            "last_page": 1,
            "limit": 20,
            "out_of_range": false
        },
        "data": [
            {
                "id": "a0f1f57d-322e-4a90-9f60-ca17387fa2c5",
                "name": "main",
                "currency": "BTC",
                "human": "Main BTC Wallet",
                "description": "Default BTC wallet with multiple addresses",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "created_at": "2018-08-14T16:44:26.925Z",
                "updated_at": "2018-08-21T12:22:37.391Z"
            },
            {
                "id": "c6136ee4-eabd-4cbe-aed8-ecd0ffdbcc4e",
                "name": "main",
                "currency": "ETH",
                "human": "Main ETH Wallet",
                "description": "Default ETH wallet with multiple addresses",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "created_at": "2018-08-14T16:44:27.478Z",
                "updated_at": "2018-08-21T12:22:38.231Z"
            },
            {
                "id": "3a488bed-1f03-4f89-9c04-0713d240c45f",
                "name": "main",
                "currency": "EUR",
                "human": "Main EUR Wallet",
                "description": "Default EUR wallet",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "created_at": "2018-08-14T16:44:27.946Z",
                "updated_at": "2018-08-21T15:42:08.601Z"
            },
            {
                "id": "5b191e4b-e1c2-4e9c-8d0b-4c4ab87a4129",
                "name": "main",
                "currency": "RUB",
                "human": "Main RUB Wallet",
                "description": "Default RUB wallet",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "created_at": "2018-08-14T16:44:27.950Z",
                "updated_at": "2018-08-21T12:22:35.378Z"
            },
            {
                "id": "50540b3f-3ebe-4397-8d96-80f78ad08e2d",
                "name": "main",
                "currency": "USD",
                "human": "Main USD Wallet",
                "description": "Default USD wallet",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "created_at": "2018-08-14T16:44:27.954Z",
                "updated_at": "2018-08-21T12:22:35.866Z"
            }
        ]
    }
    

    Wallets with balances

    This request takes longer to execute than the request without balances

    GET https://cryptoprocessing.io/api/v1/wallets?page=1&limit=20&extra[]=balance

    Example request

    curl -X GET \
      'https://cryptoprocessing.io/api/v1/wallets?page=1&limit=20&extra[]=balance' \
      -H 'Authorization: <jwt token>' \
      -H "Content-Type: application/json"
    

    The above command returns JSON structured like this:

    {
        "_metadata": {
            "total": 5,
            "current_page": 1,
            "last_page": 1,
            "limit": 20,
            "out_of_range": false
        },
        "data": [
            {
                "id": "a0f1f57d-322e-4a90-9f60-ca17387fa2c5",
                "name": "main",
                "currency": "BTC",
                "human": "Main BTC Wallet",
                "description": "Default BTC wallet with multiple addresses",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "balance": "0.0",
                "created_at": "2018-08-14T16:44:26.925Z",
                "updated_at": "2018-08-21T12:22:37.391Z"
            },
            {
                "id": "c6136ee4-eabd-4cbe-aed8-ecd0ffdbcc4e",
                "name": "main",
                "currency": "ETH",
                "human": "Main ETH Wallet",
                "description": "Default ETH wallet with multiple addresses",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "balance": "0.0",
                "created_at": "2018-08-14T16:44:27.478Z",
                "updated_at": "2018-08-21T12:22:38.231Z"
            },
            {
                "id": "3a488bed-1f03-4f89-9c04-0713d240c45f",
                "name": "main",
                "currency": "EUR",
                "human": "Main EUR Wallet",
                "description": "Default EUR wallet",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "balance": "0.0",
                "created_at": "2018-08-14T16:44:27.946Z",
                "updated_at": "2018-08-21T15:42:08.601Z"
            },
            {
                "id": "5b191e4b-e1c2-4e9c-8d0b-4c4ab87a4129",
                "name": "main",
                "currency": "RUB",
                "human": "Main RUB Wallet",
                "description": "Default RUB wallet",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "balance": "0.0",
                "created_at": "2018-08-14T16:44:27.950Z",
                "updated_at": "2018-08-21T12:22:35.378Z"
            },
            {
                "id": "50540b3f-3ebe-4397-8d96-80f78ad08e2d",
                "name": "main",
                "currency": "USD",
                "human": "Main USD Wallet",
                "description": "Default USD wallet",
                "system_fee_percent": "0.0",
                "merchant_fee_percent": "0.0",
                "balance": "0.0",
                "created_at": "2018-08-14T16:44:27.954Z",
                "updated_at": "2018-08-21T12:22:35.866Z"
            }
        ]
    }
    

    Wallet addresses

    Wallet address object

    Example

    {
        "address": "0x05cb0eab06fbb7ab1aa5708bab3bce35b6bff336",
        "final_balance": "2.189445976325668992",
        "total_received": "2.289446",
        "total_sent": "0.100000023674331008",
        "txs_count": 15
    }
    

    Represents wallet object

    Attributes:

    Attribute Description
    id Address ID
    name Some human name
    address Address
    final_balance Current address balance
    total_received Incoming transactions amount
    total_sent Outgoing transactions amount
    txs_count Transactions count

    Return wallet addresses

    GET https://cryptoprocessing.io/api/v1/wallets/:id/addresses?page=1&limit=25

    Example request

    curl -X GET \
      'https://cryptoprocessing.io/api/v1/wallets/c6136ee4-eabd-4cbe-aed8-ecd0ffdbcc4e/addresses?page=1&limit=25' \
      -H 'Authorization: <jwt token>' \
      -H "Content-Type: application/json"
    

    The above command returns JSON structured like this:

    {
        "_metadata": {
            "total": 3,
            "current_page": 1,
            "last_page": 1,
            "limit": 25,
            "out_of_range": false
        },
        "data": [
            {
                "address": "0x05cb0eab06fbb7ab1aa5708bab3bce35b6bff336",
                "final_balance": "2.189445976325668992",
                "total_received": "2.289446",
                "total_sent": "0.100000023674331008",
                "txs_count": 15
            },
            {
                "address": "0x2a9f57585de532f675660f3ec3f73f41195fa8bb",
                "final_balance": "0.0",
                "total_received": "0.0",
                "total_sent": "0.0",
                "txs_count": 0
            }
        ]
    }
    

    Create address

    POST https://cryptoprocessing.io/api/v1/wallets/:id/addresses

    Parameters:

    Parameter Description
    name Some human name

    Returns an address object

    Wallet's address transactions

    The ETH transaction object

    Parameter Description
    hash Transaction hash
    block_number Block number where the transaction is included
    confirmations_count Transaction confirmation count
    description Transaction description
    gas_price Gas price
    gas_limit Gas limit
    nonce Ethereum transaction nonce
    type Transaction type
    value Transaction amount
    sender_address A ethereum address of the sender
    receiver_address A ethereum address of the recipient
    statuses Array of transaction statuses

    The BTC transaction object

    Parameter Description
    hash Transaction hash
    amount Transaction amount
    block_number Block number where the transaction is included
    confirmations_count Transaction confirmation count
    fee Transaction fee
    type Transaction type
    description Transaction description
    receiver_addresses Array of receiver addresses with amount
    sender_address Array of sender addresses with amount
    statuses Array of transaction statuses

    Get All Transactions

    Parameter Description
    wallet_id Wallet ID
    address Address
    from_date From date
    to_date Before date
    page Pagination starts at page 1, not at page 0 (page 0 will return the same results as page 1)
    limit A limit on the number if objects to be returned. (default 25, max 100)
    from_address Sender address
    to_address Receiver address

    GET https://cryptoprocessing.io/api/v1/wallets/:wallet_id/addresses/:address_id/transactions

    curl "https://cryptoprocessing.io/api/v1/wallets/:wallet_id/addresses/:address_id/transactions?
    &from_date=2016-04-12T00:00:00.000Z&to_date=2019-04-30T00:00:00.01100Z&page=1&limit=10&fromaddress&toaddress
      -H "Authorization: <jwt token>"
    

    For the Ethereum the above command returns JSON structured like this:

    {
        "_metadata": {
            "total": 1,
            "current_page": 1,
            "last_page": 1,
            "limit": 10,
            "out_of_range": false
        },
        "data": [
            {
                "hash": "0xa59ae3c19ab383143918cfe032271e2182855a5a3449f068f533379e4ea46fab",
                "block_number": 4267539,
                "confirmations_count": 302,
                "description": "Incoming transaction",
                "gas_price": "0.000000111",
                "gas_limit": 21000,
                "nonce": 94,
                "type": "receive",
                "value": "2.0",
                "sender_address": "0x8abAb4093391340180CACe15404866499bb7D701",
                "receiver_address": "0x05cb0eab06fbb7ab1aa5708bab3bce35b6bff336",
                "statuses": [
                    {
                        "status": "in mempool",
                        "date": "Fri, 19 Oct 2018 10:06:58 GMT"
                    },
                    {
                        "status": "in block",
                        "date": "Fri, 19 Oct 2018 10:07:06 GMT"
                    }
                ]
            }
        ]
    }
    

    For the Bitcoin the above command returns JSON structured like this:

    {
        "_metadata": {
            "total": 1,
            "current_page": 1,
            "last_page": 1,
            "limit": 10,
            "out_of_range": false
        },
        "data": [
            {
                "hash": "ea574e5982434a920b6d3be80090fb8da97f6f4d20c7eb522c9c36772a81fad9",
                "amount": "0.00013",
                "block_number": 1439531,
                "confirmations_count": 11,
                "fee": "0.00001",
                "type": "send",
                "description": "Transaction [CURL]",
                "receiver_addresses": [
                    {
                        "address": "mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB",
                        "amount": "0.0001"
                    },
                    {
                        "address": "mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB",
                        "amount": "0.00003"
                    },
                    {
                        "address": "2N8QznL4ifxkg5nUakQL4aAwNTCREWrDdgv",
                        "amount": "0.01453181"
                    }
                ],
                "sender_addresses": [
                    {
                        "address": "2N8QznL4ifxkg5nUakQL4aAwNTCREWrDdgv"
                    }
                ],
                "statuses": [
                    {
                        "status": "non confirmed",
                        "date": "Fri, 19 Oct 2018 10:11:24 GMT"
                    },
                    {
                        "status": "in mempool",
                        "date": "Fri, 19 Oct 2018 10:11:24 GMT"
                    },
                    {
                        "status": "in block",
                        "date": "Fri, 19 Oct 2018 10:36:37 GMT"
                    }
                ]
            }
        ]
    }
    

    Create BTC Transaction

    Parameter Description
    to_ Recipient addresses with amount
    description Transaction description
    fee "fastestFee", "halfHourFee", "hourFee" or value in bitcoin

    POST https://cryptoprocessing.io/api/v1/wallets/:wallet_id/addresses/:address/transactions

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/45346ce2-b905-49f9-8463-cb0959c93784/addresses/2N8QznL4ifxkg5nUakQL4aAwNTCREWrDdgv/transactions \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -d '{
        "to_": [
            {
                "amount": "0.0001",
                "address": "mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB"
            },
            {
                "amount": "0.00003",
                "address": "mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB"
            }
        ],
        "description": "Transaction [CURL]",
        "fee": "hourFee"
    }'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "hash": "2d4217e45c1e3ff6a1257a95662eebce30bb6ac195e874fb3fbcd337dff5f464"
        }
    }
    

    Create ETH Transaction

    Parameter Description
    to_ Recipient address
    description Transaction description
    gas_price GasPrice in ether
    gas_limit GasLimit
    amount Amount in ether

    POST https://cryptoprocessing.io/api/v1/wallets/:wallet_id/addresses/:address/transactions

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/568c5ed2-10c5-4a80-b91d-5a80f8e1f7e0/addresses/0x05cb0eab06fbb7ab1aa5708bab3bce35b6bff336/transactions \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -d '{
        "to_": "0x8abAb4093391340180CACe15404866499bb7D701",
        "description": "Transaction [CURL]",        
        "gas_price": "0.00000000001",
        "gas_limit": 21000,
        "amount": "0.0000000505"
    }'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "hash": "0x1cc19b3a7f80d12b992c5bed3f101548b374d2c9c4804fde4d02508c36e4fcbc"
        }
    }
    

    Wallet's transactions

    The diff in comparison with Wallet's address transactions is that you need to specify the sender address(es) (from_ field in requests)

    Create transaction (ETH)

    Parameter Description
    from_ Sender address
    to_ Recipient address
    description Transaction description
    gas_price GasPrice in ether
    gas_limit GasLimit
    amount Amount in ether

    POST https://cryptoprocessing.io/api/v1/wallets/:wallet_id/transactions

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/acded3fc-5144-4726-b45b-d83fa56136b0/transactions \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -d '{
        "from_": "0x822c09d5f89261c02d4fc0bb65bb45c7ea234efe",
        "to_": "0x8abAb4093391340180CACe15404866499bb7D701",
        "description": "Transaction [CURL]",        
        "gas_price": "0.0000000045",
        "gas_limit": 21000,
        "amount": "0.0000000000356"
    }'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "hash": "0x7a3ba664212845234dba3cc6ed37d1279226255d6d7878e2544a1b19f02d7f21"
        }
    }
    

    Create transaction (BTC)

    Parameter Description
    from_ Sender addresses
    to_ Recipient addresses with amount
    description Transaction description
    fee "fastestFee", "halfHourFee", "hourFee" or value in bitcoin

    POST https://cryptoprocessing.io/api/v1/wallets/:wallet_id/transactions

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/45346ce2-b905-49f9-8463-cb0959c93784/transactions \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "from_": ["2N8QznL4ifxkg5nUakQL4aAwNTCREWrDdgv", "2N14ygepzQ51ymqw4WnUnPcu4cQkJ29EVgj"],
            "to_": [
                {
                    "amount": "0.0001",
                    "address": "mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB"
                },
                {
                    "amount": "0.000013",
                    "address": "mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB"
                }
            ],
            "description": "Transaction [CURL]",
            "fee": "hourFee"
        }'
    

    The above command returns JSON structured like this: json { "data": { "hash": "44ea4b8e6ba8d4408e5d4d0e101a7c0cb0ad4391350dd1d885b4621a32ff9d30" } }

    Wallet's webhooks

    With the help of webhooks you will receive notifications about transactions in the blockchain. Maximum number of webhooks 20.

    Webhook object

    Example

    {
        "id": "746d6b9e-7ce2-4231-87ea-d746a6f40db2",
        "url": "https://emample.com/endpoint",
        "max_confirmations": 6,
        "max_retries": 3
    }
    

    Represents webhook object

    Attributes:

    Attribute Description
    id Webhook ID
    url Webhook url
    max_confirmations The number of transaction confirmations in the blockchain to be notified about. Valid value from 0 to 100
    max_retries Maximum number of attempts to send a webhook. Valid value from 0 to 100

    Create webhook

    POST https://cryptoprocessing.io/api/v1/wallets/:id/webhooks

    Example request

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/1cf72914-d5fc-425b-ad72-ca9320d4cbcf/webhooks \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -d '{
        "url": "https://emample.com/endpoint",
        "max_confirmations": 6,
        "max_retries": 3
    }'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "id": "485380ca-5b59-4236-976c-20429c68e3ff",
            "url": "https://emample.com/endpoint",
            "max_confirmations": 6,
            "max_retries": 3
        }
    }
    

    Return webhooks

    GET https://cryptoprocessing.io/api/v1/wallets/:id/webhooks

    Example request

    curl -X GET \
      https://cryptoprocessing.io/api/v1/wallets/1cf72914-d5fc-425b-ad72-ca9320d4cbcf/webhooks \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json'
    

    The above command returns JSON structured like this:

    {
        "_metadata": {
            "total": 2
        },
        "data": [
            {
                "id": "f6303175-c86e-4ff4-81b8-40f23e6b3402",
                "url": "https://emample.com/endpoint1",
                "max_confirmations": 2,
                "max_retries": 1
            },
            {
                "id": "485380ca-5b59-4236-976c-20429c68e3ff",
                "url": "https://emample.com/endpoint2",
                "max_confirmations": 6,
                "max_retries": 3
            }
        ]
    }
    

    Delete webhook

    DELETE https://cryptoprocessing.io/api/v1/wallets/:id/webhooks/:webhook_id

    Example request

    curl -X DELETE \
      https://cryptoprocessing.io/api/v1/wallets/1cf72914-d5fc-425b-ad72-ca9320d4cbcf/webhooks/cd0d8b1d-b20a-41f0-80d1-faf2c4629a82 \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json'
    

    The above command returns only HTTP code (204)

    Wallet's payment forwarding

    Payment forwarding points to what address to transfer the arriving money.

    Payment forwarding object

    Example

    {
        "id": "a1c28479-6e6c-4504-87ed-ea56ab09cafc",
        "address": "1LpkYGhsQEeE11KmsxdTmC6kM1vo1mk7b8",
        "blocks_count": 1,
        "fee": "0.0000001"
    }
    

    Example

    {
        "address": "0xE0bB087dc0F751F2b87E1323f1700F514EB635f0",
        "blocks_count": 1,
        "gas_price": "0.0003"
    }
    

    Represents webhook object

    Attributes:

    Attribute Description
    id Payment forwarding ID
    address The address to which money will be transferred
    blocks_count The expected number of confirmations for the incoming transaction. Valid value from 0 to 100
    gas_price GasPrice for ETH
    fee Fee for BTC

    Create payment forwarding

    POST https://cryptoprocessing.io/api/v1/wallets/:id/payment_forwarding

    Example request

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/1cf72914-d5fc-425b-ad72-ca9320d4cbcf/payment_forwarding \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -d '{
        "address": "1LpkYGhsQEeE11KmsxdTmC6kM1vo1mk7b8",
        "blocks_count": 1,
        "fee": "0.000001"
    }'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "id": "d220089b-8cef-4374-968b-f1746354e840",
            "address": "1LpkYGhsQEeE11KmsxdTmC6kM1vo1mk7b8",
            "blocks_count": 1,
            "fee": "0.000001"
        }
    }
    

    Return payment forwarding

    GET https://cryptoprocessing.io/api/v1/wallets/:id/payment_forwarding

    Example request

    curl -X GET \
      https://cryptoprocessing.io/api/v1/wallets/1cf72914-d5fc-425b-ad72-ca9320d4cbcf/payment_forwarding \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "id": "d220089b-8cef-4374-968b-f1746354e840",
            "address": "1LpkYGhsQEeE11KmsxdTmC6kM1vo1mk7b8",
            "blocks_count": 1,
            "fee": "0.000001"
        }
    }
    

    Update payment forwarding

    PUT https://cryptoprocessing.io/api/v1/wallets/:id/payment_forwarding

    Example request

    curl -X PUT \
      https://cryptoprocessing.io/api/v1/wallets/1cf72914-d5fc-425b-ad72-ca9320d4cbcf/payment_forwarding \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -d '{
        "address": "1N8hwYGo2uvFGr6z1Hysp3j7V9nBrZ1dmm",
        "blocks_count": 2,
        "fee": 0.000002"
    }'
    

    The above command returns JSON structured like this:

    {
        "data": {
            "id": "d220089b-8cef-4374-968b-f1746354e840",
            "address": "1N8hwYGo2uvFGr6z1Hysp3j7V9nBrZ1dmm",
            "blocks_count": 2,
            "charge": "0.000002"
        }
    }
    

    DELETE payment forwarding

    DELETE https://cryptoprocessing.io/api/v1/wallets/:id/payment_forwarding

    Example request

    curl -X DELETE \
      https://cryptoprocessing.io/api/v1/wallets/1cf72914-d5fc-425b-ad72-ca9320d4cbcf/payment_forwarding \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json'
    

    The above command returns only HTTP code (204) if payment forwarding removed and code (404) if payment forwarding for wallet doesn't exist

    Wallet's seed

    Seed object

    Example

    {
        "seed": "task olympic spoon remove answer method divert wet stick stuff cause trick",
        "segwit_type": "non_native"
    }
    

    Attributes:

    Attribute Description
    seed Seed recovery phrase
    segwit_type Only for bitcoin (legacy, non-native, native). Not required.

    Get wallet's seed

    GET https://cryptoprocessing.io/api/v1/wallets/:wallet_id/seed

    Example request

    curl -X GET \
      https://cryptoprocessing.io/api/v1/wallets/45346ce2-b905-49f9-8463-cb0959c93784/seed \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' 
    

    Example response

    {
        "data": {
            "seed": "task olympic spoon remove answer method divert wet stick stuff cause trick",
            "segwit_type": "non_native"
        }
    }
    

    Create wallet by seed phrase

    GET https://cryptoprocessing.io/api/v1/wallets/:wallet_id/seed

    Example request

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/seed \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -H 'Idempotency-Key: <token>' \
      -d '{
        "seed": "task olympic spoon remove answer method divert wet stick stuff cause trick",
        "name": "Wallet name",
        "currency": "BTC",
        "segwit_type": "native",
        "human": "Human name",
        "description": "Some description"
    }'
    

    Example response

    {
        "data": {
            "id": "8961afc0-e2da-4807-a517-e82909c135ee",
            "name": "Wallet name",
            "currency": "BTC",
            "human": "Human name",
            "description": "Some description",
            "system_fee_percent": "1.0",
            "merchant_fee_percent": "0.0",
            "created_at": "2018-08-29T10:51:39.283Z",
            "updated_at": "2018-08-29T10:51:39.881Z"
        }
    }
    

    Wallet's contracts

    Contract object

    Example

    {
        "name": "MeLaman",
        "symbol": "MLMN",
        "total": 1e+26,
        "decimals": 18,
        "address": "0xB0AFBD9Bb6717328Eb5943640E89F0c2A49a9B18",
        "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"_totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeSub\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeDiv\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeMul\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenAddress\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transferAnyERC20Token\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeAdd\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"tokenOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]"
    }
    

    Represents contract object

    Attributes:

    Attribute Description
    name Contract's name
    symbol Contract's symbol
    total Total supply
    decimals Contract's precision
    address Contract's address
    abi Contract Application Binary Interface

    Create contract

    POST https://cryptoprocessing.io/api/v1/wallets/:wallet_id/contracts

    Example request

    curl -X POST \
      https://cryptoprocessing.io/api/v1/wallets/568c5ed2-10c5-4a80-b91d-5a80f8e1f7e0/contracts \
      -H 'Authorization: <jwt token>' \
      -H 'Content-Type: application/json' \
      -d '{
          "name":"MeLaman",
          "symbol": "MLMN",
          "total": 100000000000000000000000000,
          "decimals": 18,
          "address": "0xB0AFBD9Bb6717328Eb5943640E89F0c2A49a9B18",
          "abi":"[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"_totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeSub\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeDiv\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeMul\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenAddress\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transferAnyERC20Token\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeAdd\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"tokenOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]"
    
    }'
    

    The above command returns JSON structured like this:

    {
          "name":"MeLaman",
          "symbol": "MLMN",
          "total": 100000000000000000000000000,
          "decimals": 18,
          "address": "0xB0AFBD9Bb6717328Eb5943640E89F0c2A49a9B18",
          "abi":"[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"_totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeSub\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeDiv\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeMul\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenAddress\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transferAnyERC20Token\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeAdd\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"tokenOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]"
    }
    

    Return wallet's contracts

    GET https://cryptoprocessing.io/api/v1/wallets/:wallet_id/contracts?page=1&limit=1

    Example request

    curl -X GET \
      'https://cryptoprocessing.io/api/v1/wallets/568c5ed2-10c5-4a80-b91d-5a80f8e1f7e0/contracts?page=1&limit=1' \
      -H 'Authorization: Authorization: <jwt token>' \
      -H 'Content-Type: application/json'
    

    The above command returns JSON structured like this:

    {
        "_metadata": {
            "total": 22,
            "current_page": 1,
            "last_page": 22,
            "limit": 1,
            "out_of_range": false
        },
        "data": [
            {
                "name": "MeLaman",
                "symbol": "MLMN",
                "total": 1e+26,
                "decimals": 18,
                "address": "0xB0AFBD9Bb6717328Eb5943640E89F0c2A49a9B18",
                "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"_totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeSub\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeDiv\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeMul\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenAddress\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transferAnyERC20Token\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"},{\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"safeAdd\",\"outputs\":[{\"name\":\"c\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"tokenOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]"
            }
        ]
    }
    

    Rates

    Return your acquiring/processing rates

    GET https://cryptoprocessing.io/api/v1/rates/:direction?gateway=cryptocard

    Attributes:

    Attribute Description
    gateway Required, available options: "cryptocard", "cryptoprocessing", or "wire"
    direction Required, available options: "acquiring", "processing"

    Example Request

    curl "https://cryptoprocessing.io/api/v1/rates/acquiring?gateway=cryptocard" \
      -H "Authorization: <jwt token>" \
      -X GET
    

    The above command returns JSON structured like this:

    {
        "data": {
            "EUR": {
                "BTC": 6444.515463917526
            }
        }
    }
    

    Errors

    Processing uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a charge failed, etc.). Codes in the 5xx range indicate an error with processing's servers (these are rare).

    Some 4xx errors that could be handled programmatically (e.g., a card is declined) include an error code that briefly explains the error reported.

    Processing API uses the following error codes:

    Error Code Meaning
    400 Bad Request -- Your request is invalid.
    401 Unauthorized -- Your API key is wrong.
    403 Forbidden -- The requested is not authorized.
    404 Not Found -- Resource could not be found.
    405 Method Not Allowed -- You tried to access resource with an invalid method.
    406 Not Acceptable -- You requested a format that isn't json.
    410 Gone -- The resource requested has been removed from our servers.
    429 Too Many Requests -- You're requesting too frequently! Slow down!
    500 Internal Server Error -- We had a problem with our server. Try again later.
    503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.