VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.138USD
STEEM
0.000STEEM
SBD
0.205SBD
Effective Power
5.001SP
├── Own SP
0.679SP
└── Incoming DelegationsDeleg
+4.322SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.679SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.322SP | SP |
| Effective Power | 5.001SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.205SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "1106.316406 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7037.343400 VESTS",
"sbd_balance": "0.205 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | zaccharles |
| id | 561688 |
| rank | 624,449 |
| reputation | 854354600 |
| created | 2018-01-04T18:04:03 |
| recovery_account | steem |
| proxy | None |
| post_count | 2 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-01-06T22:01:27 |
| last_root_post | 2018-01-06T22:01:27 |
| last_vote_time | 2018-01-06T22:01:27 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.205 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 1106.316406 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7037.343400 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-01-04T21:38:27 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 561688,
"name": "zaccharles",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7sU7WRu3yQ8kUs2mYbSD2SySuaXi95NMYLUM4WUTTuHQV5FLcT",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM71Cx8yd7Saesa9zPKEmqmfAwQjaNz6nqWLEg4vmgd9B1V98FgB",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7cWGWNy1vd2HpqYcoNmrXEtGfdJqpz2FjeMVJvfXmFEgdtEjVD",
1
]
]
},
"memo_key": "STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/mkjP0NA.jpg\",\"name\":\"Zac Charles\",\"cover_image\":\"https://i.imgur.com/I0v4MDy.jpg\",\"about\":\"Programming Addict\",\"location\":\"London, UK\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/mkjP0NA.jpg\",\"name\":\"Zac Charles\",\"cover_image\":\"https://i.imgur.com/I0v4MDy.jpg\",\"about\":\"Programming Addict\",\"location\":\"London, UK\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2018-01-04T21:38:27",
"created": "2018-01-04T18:04:03",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 2,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779093264
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779093264
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.205 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "2018-01-18T11:32:03",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "1106.316406 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7037.343400 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 79,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-01-06T22:01:27",
"last_root_post": "2018-01-06T22:01:27",
"last_vote_time": "2018-01-06T22:01:27",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 854354600,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 624449
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
steemdelegated 4.322 SP to @zaccharles2026/05/18 08:34:24
steemdelegated 4.322 SP to @zaccharles
2026/05/18 08:34:24
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 7037.343400 VESTS |
| Transaction Info | Block #106153392/Trx 0f80831aca198ba36eb15cf6007e044735a88ffc |
View Raw JSON Data
{
"trx_id": "0f80831aca198ba36eb15cf6007e044735a88ffc",
"block": 106153392,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-18T08:34:24",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "7037.343400 VESTS"
}
]
}steemdelegated 2.656 SP to @zaccharles2026/05/13 14:37:45
steemdelegated 2.656 SP to @zaccharles
2026/05/13 14:37:45
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 4324.410030 VESTS |
| Transaction Info | Block #106017365/Trx b3498b3abd86d50a240b21b98d261243ecc0d307 |
View Raw JSON Data
{
"trx_id": "b3498b3abd86d50a240b21b98d261243ecc0d307",
"block": 106017365,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-13T14:37:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "4324.410030 VESTS"
}
]
}steemdelegated 4.329 SP to @zaccharles2026/04/26 07:42:48
steemdelegated 4.329 SP to @zaccharles
2026/04/26 07:42:48
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 7049.859156 VESTS |
| Transaction Info | Block #105520811/Trx fab8b35dfd4c0aff6faf76fe85c7789c6fd8765b |
View Raw JSON Data
{
"trx_id": "fab8b35dfd4c0aff6faf76fe85c7789c6fd8765b",
"block": 105520811,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-26T07:42:48",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "7049.859156 VESTS"
}
]
}biillcheryreplied to @zaccharles / tbkqzh2026/03/08 09:42:51
biillcheryreplied to @zaccharles / tbkqzh
2026/03/08 09:42:51
| parent author | zaccharles |
| parent permlink | cryptocurrency-triangular-arbitrage |
| author | biillchery |
| permlink | tbkqzh |
| title | |
| body | Bonjour à tous ! J'ai vu une publicité discrète alors que je cherchais des solutions pour mes actifs à Bordeaux. Je venais de subir des revers. Avec https://quant-aura-ai.org Quant Aura Trading j'ai pu inverser la tendance rapidement. Ma plateforme crypto m'a aidé à reprendre confiance. J'ai gagné de quoi couvrir mes dettes et même un peu plus pour moi. |
| json metadata | {"links":["https://quant-aura-ai.org"],"app":"steemit/0.2"} |
| Transaction Info | Block #104118209/Trx cc9ef3826ba6bf047d12655efc24d8a993e35768 |
View Raw JSON Data
{
"trx_id": "cc9ef3826ba6bf047d12655efc24d8a993e35768",
"block": 104118209,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-03-08T09:42:51",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-triangular-arbitrage",
"author": "biillchery",
"permlink": "tbkqzh",
"title": "",
"body": "Bonjour à tous ! J'ai vu une publicité discrète alors que je cherchais des solutions pour mes actifs à Bordeaux. Je venais de subir des revers. Avec https://quant-aura-ai.org Quant Aura Trading j'ai pu inverser la tendance rapidement. Ma plateforme crypto m'a aidé à reprendre confiance. J'ai gagné de quoi couvrir mes dettes et même un peu plus pour moi.",
"json_metadata": "{\"links\":[\"https://quant-aura-ai.org\"],\"app\":\"steemit/0.2\"}"
}
]
}steemdelegated 2.682 SP to @zaccharles2026/01/24 06:11:27
steemdelegated 2.682 SP to @zaccharles
2026/01/24 06:11:27
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 4366.679814 VESTS |
| Transaction Info | Block #102878622/Trx bd6618f7abc48054e5eb2183e6fe320ca5d6c607 |
View Raw JSON Data
{
"trx_id": "bd6618f7abc48054e5eb2183e6fe320ca5d6c607",
"block": 102878622,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-24T06:11:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "4366.679814 VESTS"
}
]
}steemdelegated 2.782 SP to @zaccharles2024/12/18 01:20:06
steemdelegated 2.782 SP to @zaccharles
2024/12/18 01:20:06
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 4530.899011 VESTS |
| Transaction Info | Block #91324813/Trx 8ba9db18f7ca92ea43dd7af68e841e818bb6b60b |
View Raw JSON Data
{
"trx_id": "8ba9db18f7ca92ea43dd7af68e841e818bb6b60b",
"block": 91324813,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-18T01:20:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "4530.899011 VESTS"
}
]
}steemdelegated 2.886 SP to @zaccharles2023/11/14 16:59:30
steemdelegated 2.886 SP to @zaccharles
2023/11/14 16:59:30
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 4700.032543 VESTS |
| Transaction Info | Block #79878915/Trx 4d8d4fb1ebdc3d32950c5c7306040a8f144e88f0 |
View Raw JSON Data
{
"trx_id": "4d8d4fb1ebdc3d32950c5c7306040a8f144e88f0",
"block": 79878915,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-14T16:59:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "4700.032543 VESTS"
}
]
}steemdelegated 4.690 SP to @zaccharles2023/09/22 13:06:24
steemdelegated 4.690 SP to @zaccharles
2023/09/22 13:06:24
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 7636.941329 VESTS |
| Transaction Info | Block #78366114/Trx 691d552125cdcfc94ae9cd426b47d35163f91a87 |
View Raw JSON Data
{
"trx_id": "691d552125cdcfc94ae9cd426b47d35163f91a87",
"block": 78366114,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-22T13:06:24",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "7636.941329 VESTS"
}
]
}steemdelegated 4.826 SP to @zaccharles2022/11/03 20:12:39
steemdelegated 4.826 SP to @zaccharles
2022/11/03 20:12:39
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 7858.992767 VESTS |
| Transaction Info | Block #69123424/Trx 3b09e4e1206a6e9bacb093dfe657070b121c24dd |
View Raw JSON Data
{
"trx_id": "3b09e4e1206a6e9bacb093dfe657070b121c24dd",
"block": 69123424,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T20:12:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "7858.992767 VESTS"
}
]
}steemdelegated 4.961 SP to @zaccharles2022/01/18 01:10:57
steemdelegated 4.961 SP to @zaccharles
2022/01/18 01:10:57
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 8079.100368 VESTS |
| Transaction Info | Block #60826401/Trx 242b3ae165c0bf800e7a98e8ea91eb876444ea5c |
View Raw JSON Data
{
"trx_id": "242b3ae165c0bf800e7a98e8ea91eb876444ea5c",
"block": 60826401,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-18T01:10:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "8079.100368 VESTS"
}
]
}steemdelegated 5.075 SP to @zaccharles2021/06/14 08:16:15
steemdelegated 5.075 SP to @zaccharles
2021/06/14 08:16:15
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 8263.294656 VESTS |
| Transaction Info | Block #54616605/Trx 1082111cf241d66c9e8ef0fc3c77db3c1d96ad6d |
View Raw JSON Data
{
"trx_id": "1082111cf241d66c9e8ef0fc3c77db3c1d96ad6d",
"block": 54616605,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-14T08:16:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "8263.294656 VESTS"
}
]
}sfigaupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2021/04/13 12:44:09
sfigaupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2021/04/13 12:44:09
| voter | sfiga |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #52851530/Trx cb1c3042a43f1bcb3bd683a469febac6fcd9c1f9 |
View Raw JSON Data
{
"trx_id": "cb1c3042a43f1bcb3bd683a469febac6fcd9c1f9",
"block": 52851530,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-04-13T12:44:09",
"op": [
"vote",
{
"voter": "sfiga",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}steemdelegated 5.190 SP to @zaccharles2020/12/11 18:26:12
steemdelegated 5.190 SP to @zaccharles
2020/12/11 18:26:12
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 8450.716630 VESTS |
| Transaction Info | Block #49363794/Trx 065287b5c42144814f5745b8f40701b10b24d061 |
View Raw JSON Data
{
"trx_id": "065287b5c42144814f5745b8f40701b10b24d061",
"block": 49363794,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T18:26:12",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "8450.716630 VESTS"
}
]
}steemdelegated 1.175 SP to @zaccharles2020/12/06 12:01:03
steemdelegated 1.175 SP to @zaccharles
2020/12/06 12:01:03
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49215304/Trx c1d224d2bacb3c5781230df564ef2c1f8b184ef5 |
View Raw JSON Data
{
"trx_id": "c1d224d2bacb3c5781230df564ef2c1f8b184ef5",
"block": 49215304,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T12:01:03",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "1912.543513 VESTS"
}
]
}steemdelegated 5.200 SP to @zaccharles2020/11/26 05:42:09
steemdelegated 5.200 SP to @zaccharles
2020/11/26 05:42:09
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 8467.843247 VESTS |
| Transaction Info | Block #48924146/Trx d285e445cda4659724ac64ab2b643fedc12623b5 |
View Raw JSON Data
{
"trx_id": "d285e445cda4659724ac64ab2b643fedc12623b5",
"block": 48924146,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-26T05:42:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "8467.843247 VESTS"
}
]
}steemdelegated 5.318 SP to @zaccharles2020/05/09 13:06:18
steemdelegated 5.318 SP to @zaccharles
2020/05/09 13:06:18
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 8659.729843 VESTS |
| Transaction Info | Block #43225668/Trx 2ea11bdf3122d0cd54d6da8d23a7a63b75b981da |
View Raw JSON Data
{
"trx_id": "2ea11bdf3122d0cd54d6da8d23a7a63b75b981da",
"block": 43225668,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T13:06:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "8659.729843 VESTS"
}
]
}steemdelegated 1.200 SP to @zaccharles2020/05/08 17:49:00
steemdelegated 1.200 SP to @zaccharles
2020/05/08 17:49:00
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43203062/Trx 4d0d6b658ea2a8d580851bd7a0181a12e7c5048f |
View Raw JSON Data
{
"trx_id": "4d0d6b658ea2a8d580851bd7a0181a12e7c5048f",
"block": 43203062,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T17:49:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "1953.311140 VESTS"
}
]
}steemdelegated 5.326 SP to @zaccharles2020/04/16 04:33:06
steemdelegated 5.326 SP to @zaccharles
2020/04/16 04:33:06
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 8672.617291 VESTS |
| Transaction Info | Block #42570611/Trx 8cc35df5ca5440c9dd93f420b68f6c0c2533e748 |
View Raw JSON Data
{
"trx_id": "8cc35df5ca5440c9dd93f420b68f6c0c2533e748",
"block": 42570611,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-04-16T04:33:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "8672.617291 VESTS"
}
]
}2020/01/04 19:02:45
2020/01/04 19:02:45
| parent author | zaccharles |
| parent permlink | cryptocurrency-linear-arbitrage |
| author | steemitboard |
| permlink | steemitboard-notify-zaccharles-20200104t190244000z |
| title | |
| body | Congratulations @zaccharles! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@zaccharles/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@zaccharles) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=zaccharles)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #39641393/Trx 7c0e2da4a9bdf4f81530f807388766034aa9670a |
View Raw JSON Data
{
"trx_id": "7c0e2da4a9bdf4f81530f807388766034aa9670a",
"block": 39641393,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-01-04T19:02:45",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-linear-arbitrage",
"author": "steemitboard",
"permlink": "steemitboard-notify-zaccharles-20200104t190244000z",
"title": "",
"body": "Congratulations @zaccharles! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@zaccharles/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@zaccharles) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=zaccharles)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}steemdelegated 5.446 SP to @zaccharles2019/05/12 21:40:54
steemdelegated 5.446 SP to @zaccharles
2019/05/12 21:40:54
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 8868.234104 VESTS |
| Transaction Info | Block #32853617/Trx 2ed8776344ba0dc2b7d0874b53ad646cd71a94c0 |
View Raw JSON Data
{
"trx_id": "2ed8776344ba0dc2b7d0874b53ad646cd71a94c0",
"block": 32853617,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-12T21:40:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "8868.234104 VESTS"
}
]
}2019/01/04 19:20:06
2019/01/04 19:20:06
| parent author | zaccharles |
| parent permlink | cryptocurrency-linear-arbitrage |
| author | steemitboard |
| permlink | steemitboard-notify-zaccharles-20190104t192006000z |
| title | |
| body | Congratulations @zaccharles! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@zaccharles/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@zaccharles)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #29168638/Trx 04902d3210c21d6cff4f39a7dc419d4802a749e2 |
View Raw JSON Data
{
"trx_id": "04902d3210c21d6cff4f39a7dc419d4802a749e2",
"block": 29168638,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-01-04T19:20:06",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-linear-arbitrage",
"author": "steemitboard",
"permlink": "steemitboard-notify-zaccharles-20190104t192006000z",
"title": "",
"body": "Congratulations @zaccharles! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@zaccharles/birthday1.png</td><td>1 Year on Steemit</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@zaccharles)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}kiikohupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/06/16 13:17:15
kiikohupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/06/16 13:17:15
| voter | kiikoh |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #23373103/Trx d8b71c1d5ca72784ac8f77937e451faf67ef8129 |
View Raw JSON Data
{
"trx_id": "d8b71c1d5ca72784ac8f77937e451faf67ef8129",
"block": 23373103,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-16T13:17:15",
"op": [
"vote",
{
"voter": "kiikoh",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}2018/06/05 07:52:18
2018/06/05 07:52:18
| parent author | zaccharles |
| parent permlink | cryptocurrency-linear-arbitrage |
| author | goldenbytes |
| permlink | re-zaccharles-cryptocurrency-linear-arbitrage-20180605t075147395z |
| title | |
| body | @@ -62,16 +62,28 @@ ernet - +https://www. coins2ga |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1","links":["https://www.coins2gains.com"]} |
| Transaction Info | Block #23050448/Trx 86aef10fad5a6eee6a5a5e182fafc75466ba5bc1 |
View Raw JSON Data
{
"trx_id": "86aef10fad5a6eee6a5a5e182fafc75466ba5bc1",
"block": 23050448,
"trx_in_block": 69,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-05T07:52:18",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-linear-arbitrage",
"author": "goldenbytes",
"permlink": "re-zaccharles-cryptocurrency-linear-arbitrage-20180605t075147395z",
"title": "",
"body": "@@ -62,16 +62,28 @@\n ernet - \n+https://www.\n coins2ga\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\",\"links\":[\"https://www.coins2gains.com\"]}"
}
]
}2018/06/05 07:51:51
2018/06/05 07:51:51
| parent author | zaccharles |
| parent permlink | cryptocurrency-linear-arbitrage |
| author | goldenbytes |
| permlink | re-zaccharles-cryptocurrency-linear-arbitrage-20180605t075147395z |
| title | |
| body | Found something interesting regarding direct arbitrage on internet - coins2gains.com |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #23050439/Trx 21dc4d9af379d150d137b76ecfd138ae61d52522 |
View Raw JSON Data
{
"trx_id": "21dc4d9af379d150d137b76ecfd138ae61d52522",
"block": 23050439,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-05T07:51:51",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-linear-arbitrage",
"author": "goldenbytes",
"permlink": "re-zaccharles-cryptocurrency-linear-arbitrage-20180605t075147395z",
"title": "",
"body": "Found something interesting regarding direct arbitrage on internet - coins2gains.com",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}steemdelegated 5.569 SP to @zaccharles2018/05/17 03:54:30
steemdelegated 5.569 SP to @zaccharles
2018/05/17 03:54:30
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 9067.749196 VESTS |
| Transaction Info | Block #22498988/Trx 362c51fb83eefc7c4ee30a71b0e4d49d6cd0f508 |
View Raw JSON Data
{
"trx_id": "362c51fb83eefc7c4ee30a71b0e4d49d6cd0f508",
"block": 22498988,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-17T03:54:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "9067.749196 VESTS"
}
]
}2018/04/22 15:10:30
2018/04/22 15:10:30
| parent author | zaccharles |
| parent permlink | cryptocurrency-linear-arbitrage |
| author | paulvdschee |
| permlink | re-zaccharles-cryptocurrency-linear-arbitrage-20180422t151027193z |
| title | |
| body | I would like to know more! I enjoy reading your posts, write me back and let me know how your crypto arbitrage bot is doing. :) |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #21793294/Trx a6e4dd84a7972c8810ae87fee7678994fb5d7b1e |
View Raw JSON Data
{
"trx_id": "a6e4dd84a7972c8810ae87fee7678994fb5d7b1e",
"block": 21793294,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-22T15:10:30",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-linear-arbitrage",
"author": "paulvdschee",
"permlink": "re-zaccharles-cryptocurrency-linear-arbitrage-20180422t151027193z",
"title": "",
"body": "I would like to know more! I enjoy reading your posts, write me back and let me know how your crypto arbitrage bot is doing. :)",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/04/09 13:18:03
2018/04/09 13:18:03
| parent author | zaccharles |
| parent permlink | cryptocurrency-linear-arbitrage |
| author | mcshpoochen |
| permlink | re-zaccharles-cryptocurrency-linear-arbitrage-20180409t131803480z |
| title | |
| body | I enjoy reading your posts. |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #21416707/Trx 8617930075b1a24ad879d91d25d60bb4d0033759 |
View Raw JSON Data
{
"trx_id": "8617930075b1a24ad879d91d25d60bb4d0033759",
"block": 21416707,
"trx_in_block": 79,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T13:18:03",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-linear-arbitrage",
"author": "mcshpoochen",
"permlink": "re-zaccharles-cryptocurrency-linear-arbitrage-20180409t131803480z",
"title": "",
"body": "I enjoy reading your posts.",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}mcshpoochenupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage2018/04/09 13:17:51
mcshpoochenupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage
2018/04/09 13:17:51
| voter | mcshpoochen |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21416703/Trx f22e1016bd582b9d61633ef3b7cf913d878e1208 |
View Raw JSON Data
{
"trx_id": "f22e1016bd582b9d61633ef3b7cf913d878e1208",
"block": 21416703,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T13:17:51",
"op": [
"vote",
{
"voter": "mcshpoochen",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"weight": 10000
}
]
}2018/04/09 13:15:12
2018/04/09 13:15:12
| parent author | zaccharles |
| parent permlink | cryptocurrency-triangular-arbitrage |
| author | mcshpoochen |
| permlink | re-zaccharles-cryptocurrency-triangular-arbitrage-20180409t131511162z |
| title | |
| body | Good read. I'm interested what happened with this project over the course of 3 months. Any updates? |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #21416650/Trx f02d30e2b0fa3d7ba21567d992570e3272913ce4 |
View Raw JSON Data
{
"trx_id": "f02d30e2b0fa3d7ba21567d992570e3272913ce4",
"block": 21416650,
"trx_in_block": 36,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T13:15:12",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-triangular-arbitrage",
"author": "mcshpoochen",
"permlink": "re-zaccharles-cryptocurrency-triangular-arbitrage-20180409t131511162z",
"title": "",
"body": "Good read. I'm interested what happened with this project over the course of 3 months. Any updates?",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}mcshpoochenupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/04/09 13:14:36
mcshpoochenupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/04/09 13:14:36
| voter | mcshpoochen |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21416638/Trx 2431d9a80e8ab526703a8df35ae4797df5e4c37e |
View Raw JSON Data
{
"trx_id": "2431d9a80e8ab526703a8df35ae4797df5e4c37e",
"block": 21416638,
"trx_in_block": 39,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T13:14:36",
"op": [
"vote",
{
"voter": "mcshpoochen",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}steemdelegated 18.111 SP to @zaccharles2018/03/30 19:21:54
steemdelegated 18.111 SP to @zaccharles
2018/03/30 19:21:54
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 29491.292597 VESTS |
| Transaction Info | Block #21136024/Trx eb5b0f0d3b048a90d732bc94c29eaf822635b4de |
View Raw JSON Data
{
"trx_id": "eb5b0f0d3b048a90d732bc94c29eaf822635b4de",
"block": 21136024,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-30T19:21:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "29491.292597 VESTS"
}
]
}2018/03/18 00:26:51
2018/03/18 00:26:51
| parent author | zaccharles |
| parent permlink | cryptocurrency-triangular-arbitrage |
| author | owenhdp |
| permlink | re-zaccharles-cryptocurrency-triangular-arbitrage-20180318t002652700z |
| title | |
| body | Absolutely interested! Similar project I found on GitHub using Binance: https://github.com/tiagosiebler/TriangularArbitrage Hope for further update! :) |
| json metadata | {"tags":["cryptocurrency"],"links":["https://github.com/tiagosiebler/TriangularArbitrage"],"app":"steemit/0.1"} |
| Transaction Info | Block #20768630/Trx 0ac115cbae9acf419929a1924a4e569f373bebb7 |
View Raw JSON Data
{
"trx_id": "0ac115cbae9acf419929a1924a4e569f373bebb7",
"block": 20768630,
"trx_in_block": 51,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T00:26:51",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-triangular-arbitrage",
"author": "owenhdp",
"permlink": "re-zaccharles-cryptocurrency-triangular-arbitrage-20180318t002652700z",
"title": "",
"body": "Absolutely interested! Similar project I found on GitHub using Binance: \nhttps://github.com/tiagosiebler/TriangularArbitrage\nHope for further update! :)",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"links\":[\"https://github.com/tiagosiebler/TriangularArbitrage\"],\"app\":\"steemit/0.1\"}"
}
]
}owenhdpupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/03/18 00:25:09
owenhdpupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/03/18 00:25:09
| voter | owenhdp |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20768596/Trx e7fc0d2f9b2371be2e3a2dbb41d8022c3287e73b |
View Raw JSON Data
{
"trx_id": "e7fc0d2f9b2371be2e3a2dbb41d8022c3287e73b",
"block": 20768596,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T00:25:09",
"op": [
"vote",
{
"voter": "owenhdp",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}jasjnrupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/02/27 17:26:51
jasjnrupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/02/27 17:26:51
| voter | jasjnr |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20242376/Trx ed0f37551939de9bf0b3e0cd5d0b8f825ebea3db |
View Raw JSON Data
{
"trx_id": "ed0f37551939de9bf0b3e0cd5d0b8f825ebea3db",
"block": 20242376,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-27T17:26:51",
"op": [
"vote",
{
"voter": "jasjnr",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}2018/02/26 18:45:00
2018/02/26 18:45:00
| parent author | zaccharles |
| parent permlink | cryptocurrency-linear-arbitrage |
| author | sahanov |
| permlink | re-zaccharles-cryptocurrency-linear-arbitrage-20180226t184457829z |
| title | |
| body | This is some amazing work here. Please keep on posting. After typing in google triangular crypto arbitrage u were there at the top. The traffic is all yours mate. |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #20215299/Trx ab62a22a5be9bb23b443af9e2e5a15a0ed93fa40 |
View Raw JSON Data
{
"trx_id": "ab62a22a5be9bb23b443af9e2e5a15a0ed93fa40",
"block": 20215299,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-26T18:45:00",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-linear-arbitrage",
"author": "sahanov",
"permlink": "re-zaccharles-cryptocurrency-linear-arbitrage-20180226t184457829z",
"title": "",
"body": "This is some amazing work here. Please keep on posting. \n\nAfter typing in google triangular crypto arbitrage u were there at the top. The traffic is all yours mate.",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/02/19 04:30:54
2018/02/19 04:30:54
| parent author | zaccharles |
| parent permlink | cryptocurrency-linear-arbitrage |
| author | donnu |
| permlink | re-zaccharles-cryptocurrency-linear-arbitrage-20180219t043053969z |
| title | |
| body | very interesting article~! R u programer? Can you let me know little more tips? |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #19996681/Trx 731fd06f1314801fb48669f449de591039f5852e |
View Raw JSON Data
{
"trx_id": "731fd06f1314801fb48669f449de591039f5852e",
"block": 19996681,
"trx_in_block": 61,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-19T04:30:54",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-linear-arbitrage",
"author": "donnu",
"permlink": "re-zaccharles-cryptocurrency-linear-arbitrage-20180219t043053969z",
"title": "",
"body": "very interesting article~!\nR u programer?\nCan you let me know little more tips?",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/02/19 04:21:24
2018/02/19 04:21:24
| parent author | zaccharles |
| parent permlink | cryptocurrency-triangular-arbitrage |
| author | donnu |
| permlink | re-zaccharles-cryptocurrency-triangular-arbitrage-20180219t042124759z |
| title | |
| body | very interesting article. Could you give me some more specific tips? |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #19996491/Trx 95ebf2954758224c3a198b087692aeb9a0a4e2a1 |
View Raw JSON Data
{
"trx_id": "95ebf2954758224c3a198b087692aeb9a0a4e2a1",
"block": 19996491,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-19T04:21:24",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-triangular-arbitrage",
"author": "donnu",
"permlink": "re-zaccharles-cryptocurrency-triangular-arbitrage-20180219t042124759z",
"title": "",
"body": "very interesting article. Could you give me some more specific tips?",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}donnuupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/02/19 04:20:03
donnuupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/02/19 04:20:03
| voter | donnu |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19996464/Trx 5ae2a569f9e85078d9d70f44000a633ee39c9d1a |
View Raw JSON Data
{
"trx_id": "5ae2a569f9e85078d9d70f44000a633ee39c9d1a",
"block": 19996464,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-19T04:20:03",
"op": [
"vote",
{
"voter": "donnu",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}2018/02/07 16:05:06
2018/02/07 16:05:06
| parent author | zaccharles |
| parent permlink | cryptocurrency-triangular-arbitrage |
| author | anthonyj68 |
| permlink | re-zaccharles-cryptocurrency-triangular-arbitrage-20180207t160505140z |
| title | |
| body | I'm very interested in hearing more! |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #19665403/Trx c1353eab05495c7dbd34c2073b4b959094e2c44c |
View Raw JSON Data
{
"trx_id": "c1353eab05495c7dbd34c2073b4b959094e2c44c",
"block": 19665403,
"trx_in_block": 58,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-07T16:05:06",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-triangular-arbitrage",
"author": "anthonyj68",
"permlink": "re-zaccharles-cryptocurrency-triangular-arbitrage-20180207t160505140z",
"title": "",
"body": "I'm very interested in hearing more!",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}anthonyj68upvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/02/07 16:02:00
anthonyj68upvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/02/07 16:02:00
| voter | anthonyj68 |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19665341/Trx da76ed322f3b55e1cc0781779f0ef86e26b086b6 |
View Raw JSON Data
{
"trx_id": "da76ed322f3b55e1cc0781779f0ef86e26b086b6",
"block": 19665341,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-07T16:02:00",
"op": [
"vote",
{
"voter": "anthonyj68",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}2018/02/06 21:45:24
2018/02/06 21:45:24
| parent author | zaccharles |
| parent permlink | cryptocurrency-triangular-arbitrage |
| author | dtubix |
| permlink | re-cryptocurrency-triangular-arbitrage-495 |
| title | |
| body | Following you! <p><img src="https://preview.ibb.co/hJ5ArH/up2.png" width="200"/></p> |
| json metadata | |
| Transaction Info | Block #19643441/Trx a0d3e7c34ccdb5a9d395258542cabfe4a45a643f |
View Raw JSON Data
{
"trx_id": "a0d3e7c34ccdb5a9d395258542cabfe4a45a643f",
"block": 19643441,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-06T21:45:24",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-triangular-arbitrage",
"author": "dtubix",
"permlink": "re-cryptocurrency-triangular-arbitrage-495",
"title": "",
"body": "Following you! <p><img src=\"https://preview.ibb.co/hJ5ArH/up2.png\" width=\"200\"/></p>",
"json_metadata": ""
}
]
}dtubixupvoted (50.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/02/06 21:45:15
dtubixupvoted (50.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/02/06 21:45:15
| voter | dtubix |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 5000 (50.00%) |
| Transaction Info | Block #19643438/Trx 8913ebb9f223ce9603718d963438003673da6526 |
View Raw JSON Data
{
"trx_id": "8913ebb9f223ce9603718d963438003673da6526",
"block": 19643438,
"trx_in_block": 28,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-06T21:45:15",
"op": [
"vote",
{
"voter": "dtubix",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 5000
}
]
}carmaniacupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage2018/02/01 20:52:30
carmaniacupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage
2018/02/01 20:52:30
| voter | carmaniac |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19498587/Trx f8d5d5236b6b0e61fa6c830ee301bf95f3dd82c1 |
View Raw JSON Data
{
"trx_id": "f8d5d5236b6b0e61fa6c830ee301bf95f3dd82c1",
"block": 19498587,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-01T20:52:30",
"op": [
"vote",
{
"voter": "carmaniac",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"weight": 10000
}
]
}zaccharlesclaimed reward balance: 0.205 SBD, 0.050 SP2018/01/18 11:32:03
zaccharlesclaimed reward balance: 0.205 SBD, 0.050 SP
2018/01/18 11:32:03
| account | zaccharles |
| reward steem | 0.000 STEEM |
| reward sbd | 0.205 SBD |
| reward vests | 81.915468 VESTS |
| Transaction Info | Block #19084452/Trx b2dbef91c86be0e8783613785ac5a101a81988ee |
View Raw JSON Data
{
"trx_id": "b2dbef91c86be0e8783613785ac5a101a81988ee",
"block": 19084452,
"trx_in_block": 54,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-18T11:32:03",
"op": [
"claim_reward_balance",
{
"account": "zaccharles",
"reward_steem": "0.000 STEEM",
"reward_sbd": "0.205 SBD",
"reward_vests": "81.915468 VESTS"
}
]
}zaccharlesreceived 0.205 SBD, 0.050 SP author reward for @zaccharles / cryptocurrency-linear-arbitrage2018/01/13 22:01:27
zaccharlesreceived 0.205 SBD, 0.050 SP author reward for @zaccharles / cryptocurrency-linear-arbitrage
2018/01/13 22:01:27
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| sbd payout | 0.205 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 81.915468 VESTS |
| Transaction Info | Block #18953103/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 18953103,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2018-01-13T22:01:27",
"op": [
"author_reward",
{
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"sbd_payout": "0.205 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "81.915468 VESTS"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/09 15:46:00
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/09 15:46:00
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Part 1: Crypto Triangular Arbitrage |
| body | @@ -3915,17 +3915,19 @@ t now:%0A%0A -%3E + 22:47:1 @@ -3973,33 +3973,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:17 - BTC @@ -4035,33 +4035,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:17 - BTC @@ -4097,33 +4097,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:17 - BTC @@ -4163,33 +4163,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4225,33 +4225,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4287,33 +4287,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4353,33 +4353,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4415,33 +4415,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4477,33 +4477,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4543,33 +4543,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4605,33 +4605,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4667,33 +4667,35 @@ TH%5D %3E %5BETH-BTC%5D%0A -%3E + 22:47:18 - BTC @@ -4741,17 +4741,19 @@ TH-BTC%5D%0A -%3E + 22:47:1 @@ -4803,16 +4803,21 @@ TH-BTC%5D%0A +** ** %0AWe can |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","proft","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown","image":["https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png"]} |
| Transaction Info | Block #18830510/Trx 3989b3fd40b31034fc1c736d0cc2a49f4ec70861 |
View Raw JSON Data
{
"trx_id": "3989b3fd40b31034fc1c736d0cc2a49f4ec70861",
"block": 18830510,
"trx_in_block": 49,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-09T15:46:00",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Part 1: Crypto Triangular Arbitrage",
"body": "@@ -3915,17 +3915,19 @@\n t now:%0A%0A\n-%3E\n+ \n 22:47:1\n@@ -3973,33 +3973,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:17 - BTC \n@@ -4035,33 +4035,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:17 - BTC \n@@ -4097,33 +4097,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:17 - BTC \n@@ -4163,33 +4163,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4225,33 +4225,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4287,33 +4287,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4353,33 +4353,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4415,33 +4415,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4477,33 +4477,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4543,33 +4543,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4605,33 +4605,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4667,33 +4667,35 @@\n TH%5D %3E %5BETH-BTC%5D%0A\n-%3E\n+ \n 22:47:18 - BTC \n@@ -4741,17 +4741,19 @@\n TH-BTC%5D%0A\n-%3E\n+ \n 22:47:1\n@@ -4803,16 +4803,21 @@\n TH-BTC%5D%0A\n+** **\n %0AWe can \n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"proft\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png\"]}"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/09 08:00:51
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/09 08:00:51
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Part 1: Crypto Triangular Arbitrage |
| body | Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.  Given how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your funds between the exchanges and repeat the process. Since I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around. I found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source "C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions. That's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be. So I decided not to run Blackbird and do some further investigation. I didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit. I use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work. The code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market. Bittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit. The result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now: > 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:19 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] We can see that at 22:47:18, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take. The average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds. 3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage. Are you interested in hearing more about this project? Let me know! |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","proft","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown","image":["https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png"]} |
| Transaction Info | Block #18821213/Trx f1ab090015eba8f0253a45399288cc3d0b5587de |
View Raw JSON Data
{
"trx_id": "f1ab090015eba8f0253a45399288cc3d0b5587de",
"block": 18821213,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-09T08:00:51",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Part 1: Crypto Triangular Arbitrage",
"body": "Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.\n\n\n\nGiven how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your funds between the exchanges and repeat the process.\n\nSince I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around.\n\nI found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source \"C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges\". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions.\n\nThat's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be.\n\nSo I decided not to run Blackbird and do some further investigation.\n\nI didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit.\n\nI use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work.\n\nThe code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market.\n\nBittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit.\n\nThe result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now:\n\n> 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:19 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n\nWe can see that at 22:47:18, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take.\n\nThe average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds.\n\n3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage.\n\nAre you interested in hearing more about this project? Let me know!",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"proft\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png\"]}"
}
]
}zaccharlespublished a new post: cryptocurrency-linear-arbitrage2018/01/09 08:00:42
zaccharlespublished a new post: cryptocurrency-linear-arbitrage
2018/01/09 08:00:42
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| title | Part 2: Crypto Linear Arbitrage |
| body | In [my previous post](https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage), I wrote about my investigation into profitable triangular arbitrage opportunities in the cryptocurrency market. Triangular arbitrage is when you start with currency A, trade it for currency B, then trade that for C, and finally trade C back to A. Due to market inefficiencies, this can sometimes result in having more of currency A than you had at the beginning. The result of my initial investigation was that these opportunities seem to occur about one to three times a minute when filtering out those with profit below 1% (considering trading fees). At that time, I was polling Bittrex's API roughly every 250ms. Sometimes an opportunity would be printed out once, and sometimes multiple times. That meant some were present for longer than others. Given there are three trades in triangular arbitrage, and each trade takes time, some opportunities may not be around long enough to be actionable. Time for some more coding!  Until now, the program was only outputting each opportunity as it came along, so I changed it to keep track of them. Afterwards, the program wrote a message when a new one opened, when it closed, and the duration for which it was open. Below are a few examples. 22:24:37 + ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% 22:24:40 - ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% (3.144s) 22:24:41 + ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% 22:24:41 - ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% (0.243s) 22:27:38 + BTC-BAT > BAT-ETH > ETH-BTC @ 2.06% 22:27:42 - BTC-BAT > BAT-ETH > ETH-BTC @ 2.06% (3.812s) ** ** It's interesting to see that an `ETH > VIB > BTC > ETH` opportunity was open for 3.144s, closed for about a second, then reopened at 1.33% again for only 243ms. We may have been able to trade the first one successfully, but the second closed quite quickly. Some opportunities close even quicker than this, while others are open for anywhere up to 30 seconds. That's very inefficient, but the problem is that the inefficiency is unpredictable... right? Bittrex has three base currencies; `BTC`, `ETH`, and `USDT`. I call these base currencies because you can buy most altcoins with them. In the above example, you can see two opportunities started and ended with `ETH`, and one with `BTC`. In fact, after observing for a day, I noticed that around half started with `ETH` and the other half with `BTC`, while only a small amount started with `USDT`. I happily hold both `BTC` and `ETH`, which made me question the point of trading back to the starting currency, which incurs an additional fee. What if we only followed the opportunity path from `ETH` to `BTC`, and then stopped? Likewise, we'd keep the `ETH` when starting with `BTC`. This strategy is what I'm calling linear arbitrage. I ran this strategy in observation mode for almost 48 hours capturing 2,314 opportunities above 1%. You can take a look at [the data](https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing) if you like. Here's a summary: | |Min|Avg|Max| |-----|-------------|-----------|--------------| |**Profit**|1.00%|1.90%|14.80%| |**Duration**|0.030s|5.050s|156.520s| The most commonly inefficient currencies were [FUN](https://coinmarketcap.com/currencies/funfair/), [XLM](https://coinmarketcap.com/currencies/stellar/), [DGB](https://coinmarketcap.com/currencies/digital-bullion-gold/), [SNT](https://coinmarketcap.com/currencies/status/), [ADA](https://coinmarketcap.com/currencies/cardano/), and [ENG](https://coinmarketcap.com/currencies/enigma-project/). Each of these gave above 100 opportunities each, but I'm not convinced there is anything to read into here. More importantly is the fact some opportunities are open for as little as 30ms. There are two trades in linear arbitrage, and that's barely enough time to place a single order. You could solve this by owning all altcoins and doing both trades simultaneously, but I'd rather avoid that. Some of the shorter-lived opportunities may be market-manipulating bots placing small orders which get eaten up quickly. Perhaps the duration can be predicted based on the order size. I ran the strategy in trade-mode very briefly. The results were mixed, so I think this is going to be an essential part of deciding to trade. Are you interested in hearing more about this project? Let me know! |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","profit","crypto"],"image":["https://steemitimages.com/DQmNYeC2WomiTCrTrjgEsittZHsXm8vCF4qQVS2iRTQSZXV/image.png"],"links":["https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage","https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing","https://coinmarketcap.com/currencies/funfair/","https://coinmarketcap.com/currencies/stellar/","https://coinmarketcap.com/currencies/digital-bullion-gold/","https://coinmarketcap.com/currencies/status/","https://coinmarketcap.com/currencies/cardano/","https://coinmarketcap.com/currencies/enigma-project/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #18821210/Trx e4f8e9dfcd051c9651b10b4b9904ebfb9f5b9443 |
View Raw JSON Data
{
"trx_id": "e4f8e9dfcd051c9651b10b4b9904ebfb9f5b9443",
"block": 18821210,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-09T08:00:42",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"title": "Part 2: Crypto Linear Arbitrage",
"body": "In [my previous post](https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage), I wrote about my investigation into profitable triangular arbitrage opportunities in the cryptocurrency market. Triangular arbitrage is when you start with currency A, trade it for currency B, then trade that for C, and finally trade C back to A.\nDue to market inefficiencies, this can sometimes result in having more of currency A than you had at the beginning.\n\nThe result of my initial investigation was that these opportunities seem to occur about one to three times a minute when filtering out those with profit below 1% (considering trading fees).\nAt that time, I was polling Bittrex's API roughly every 250ms. Sometimes an opportunity would be printed out once, and sometimes multiple times. That meant some were present for longer than others. Given there are three trades in triangular arbitrage, and each trade takes time, some opportunities may not be around long enough to be actionable.\n\nTime for some more coding!\n\n\n\nUntil now, the program was only outputting each opportunity as it came along, so I changed it to keep track of them. Afterwards, the program wrote a message when a new one opened, when it closed, and the duration for which it was open. Below are a few examples.\n\n 22:24:37 + ETH-VIB > VIB-BTC > BTC-ETH @ 1.33%\n 22:24:40 - ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% (3.144s)\n 22:24:41 + ETH-VIB > VIB-BTC > BTC-ETH @ 1.33%\n 22:24:41 - ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% (0.243s)\n 22:27:38 + BTC-BAT > BAT-ETH > ETH-BTC @ 2.06%\n 22:27:42 - BTC-BAT > BAT-ETH > ETH-BTC @ 2.06% (3.812s)\n \n** **\nIt's interesting to see that an `ETH > VIB > BTC > ETH` opportunity was open for 3.144s, closed for about a second, then reopened at 1.33% again for only 243ms. We may have been able to trade the first one successfully, but the second closed quite quickly. Some opportunities close even quicker than this, while others are open for anywhere up to 30 seconds. That's very inefficient, but the problem is that the inefficiency is unpredictable... right?\n\nBittrex has three base currencies; `BTC`, `ETH`, and `USDT`. I call these base currencies because you can buy most altcoins with them. In the above example, you can see two opportunities started and ended with `ETH`, and one with `BTC`.\nIn fact, after observing for a day, I noticed that around half started with `ETH` and the other half with `BTC`, while only a small amount started with `USDT`. I happily hold both `BTC` and `ETH`, which made me question the point of trading back to the starting currency, which incurs an additional fee.\n\nWhat if we only followed the opportunity path from `ETH` to `BTC`, and then stopped? Likewise, we'd keep the `ETH` when starting with `BTC`. This strategy is what I'm calling linear arbitrage.\nI ran this strategy in observation mode for almost 48 hours capturing 2,314 opportunities above 1%. You can take a look at [the data](https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing) if you like. Here's a summary:\n\n| |Min|Avg|Max|\n|-----|-------------|-----------|--------------|\n|**Profit**|1.00%|1.90%|14.80%|\n|**Duration**|0.030s|5.050s|156.520s|\n\nThe most commonly inefficient currencies were [FUN](https://coinmarketcap.com/currencies/funfair/), [XLM](https://coinmarketcap.com/currencies/stellar/), [DGB](https://coinmarketcap.com/currencies/digital-bullion-gold/), [SNT](https://coinmarketcap.com/currencies/status/), [ADA](https://coinmarketcap.com/currencies/cardano/), and [ENG](https://coinmarketcap.com/currencies/enigma-project/). Each of these gave above 100 opportunities each, but I'm not convinced there is anything to read into here. More importantly is the fact some opportunities are open for as little as 30ms. There are two trades in linear arbitrage, and that's barely enough time to place a single order. You could solve this by owning all altcoins and doing both trades simultaneously, but I'd rather avoid that.\n\nSome of the shorter-lived opportunities may be market-manipulating bots placing small orders which get eaten up quickly. Perhaps the duration can be predicted based on the order size. I ran the strategy in trade-mode very briefly. The results were mixed, so I think this is going to be an essential part of deciding to trade.\n\nAre you interested in hearing more about this project? Let me know!",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"profit\",\"crypto\"],\"image\":[\"https://steemitimages.com/DQmNYeC2WomiTCrTrjgEsittZHsXm8vCF4qQVS2iRTQSZXV/image.png\"],\"links\":[\"https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage\",\"https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing\",\"https://coinmarketcap.com/currencies/funfair/\",\"https://coinmarketcap.com/currencies/stellar/\",\"https://coinmarketcap.com/currencies/digital-bullion-gold/\",\"https://coinmarketcap.com/currencies/status/\",\"https://coinmarketcap.com/currencies/cardano/\",\"https://coinmarketcap.com/currencies/enigma-project/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/09 08:00:33
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/09 08:00:33
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Part 1: Crypto Triangular Arbitrage |
| body | Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.  Given how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your funds between the exchanges and repeat the process. Since I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around. I found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source "C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions. That's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be. So I decided not to run Blackbird and do some further investigation. I didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit. I use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work. The code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market. Bittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit. The result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now: > 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:19 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] We can see that at 22:47:18, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take. The average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds. 3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage. Are you interested in hearing more about this project? Let me know! |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","bitcoin","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown","image":["https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png"]} |
| Transaction Info | Block #18821207/Trx a80bb19c6616a6e4016dfa223e214736843e74de |
View Raw JSON Data
{
"trx_id": "a80bb19c6616a6e4016dfa223e214736843e74de",
"block": 18821207,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-09T08:00:33",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Part 1: Crypto Triangular Arbitrage",
"body": "Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.\n\n\n\nGiven how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your funds between the exchanges and repeat the process.\n\nSince I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around.\n\nI found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source \"C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges\". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions.\n\nThat's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be.\n\nSo I decided not to run Blackbird and do some further investigation.\n\nI didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit.\n\nI use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work.\n\nThe code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market.\n\nBittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit.\n\nThe result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now:\n\n> 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:19 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n\nWe can see that at 22:47:18, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take.\n\nThe average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds.\n\n3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage.\n\nAre you interested in hearing more about this project? Let me know!",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"bitcoin\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png\"]}"
}
]
}steemdelegated 18.240 SP to @zaccharles2018/01/08 19:33:24
steemdelegated 18.240 SP to @zaccharles
2018/01/08 19:33:24
| delegator | steem |
| delegatee | zaccharles |
| vesting shares | 29700.599062 VESTS |
| Transaction Info | Block #18806290/Trx e8877224c294b8722bf9642ea653dbcd408e7fcb |
View Raw JSON Data
{
"trx_id": "e8877224c294b8722bf9642ea653dbcd408e7fcb",
"block": 18806290,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-08T19:33:24",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "zaccharles",
"vesting_shares": "29700.599062 VESTS"
}
]
}cliffxuanupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage2018/01/08 10:01:21
cliffxuanupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage
2018/01/08 10:01:21
| voter | cliffxuan |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18794877/Trx dc0972309d857e50f861cc01838de39dabbb9316 |
View Raw JSON Data
{
"trx_id": "dc0972309d857e50f861cc01838de39dabbb9316",
"block": 18794877,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-08T10:01:21",
"op": [
"vote",
{
"voter": "cliffxuan",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"weight": 10000
}
]
}zaccharlespublished a new post: cryptocurrency-linear-arbitrage2018/01/06 23:59:36
zaccharlespublished a new post: cryptocurrency-linear-arbitrage
2018/01/06 23:59:36
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| title | Cryptocurrency Linear Arbitrage |
| body | @@ -3190,28 +3190,16 @@ %7CMin -imum%7CAverage%7CMaximum +%7CAvg%7CMax %7C%0A%7C- |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","profit","crypto"],"image":["https://steemitimages.com/DQmNYeC2WomiTCrTrjgEsittZHsXm8vCF4qQVS2iRTQSZXV/image.png"],"links":["https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage","https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing","https://coinmarketcap.com/currencies/funfair/","https://coinmarketcap.com/currencies/stellar/","https://coinmarketcap.com/currencies/digital-bullion-gold/","https://coinmarketcap.com/currencies/status/","https://coinmarketcap.com/currencies/cardano/","https://coinmarketcap.com/currencies/enigma-project/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #18754083/Trx 6eef36c0128b2e57ab924e5cf08061cff6ca2a97 |
View Raw JSON Data
{
"trx_id": "6eef36c0128b2e57ab924e5cf08061cff6ca2a97",
"block": 18754083,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-06T23:59:36",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"title": "Cryptocurrency Linear Arbitrage",
"body": "@@ -3190,28 +3190,16 @@\n %7CMin\n-imum%7CAverage%7CMaximum\n+%7CAvg%7CMax\n %7C%0A%7C-\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"profit\",\"crypto\"],\"image\":[\"https://steemitimages.com/DQmNYeC2WomiTCrTrjgEsittZHsXm8vCF4qQVS2iRTQSZXV/image.png\"],\"links\":[\"https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage\",\"https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing\",\"https://coinmarketcap.com/currencies/funfair/\",\"https://coinmarketcap.com/currencies/stellar/\",\"https://coinmarketcap.com/currencies/digital-bullion-gold/\",\"https://coinmarketcap.com/currencies/status/\",\"https://coinmarketcap.com/currencies/cardano/\",\"https://coinmarketcap.com/currencies/enigma-project/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}zaccharlespublished a new post: cryptocurrency-linear-arbitrage2018/01/06 23:58:48
zaccharlespublished a new post: cryptocurrency-linear-arbitrage
2018/01/06 23:58:48
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| title | Cryptocurrency Linear Arbitrage |
| body | @@ -2504,16 +2504,22 @@ and the +other half wit @@ -2848,18 +2848,20 @@ tarting -at +with %60BTC%60. |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","profit","crypto"],"image":["https://steemitimages.com/DQmNYeC2WomiTCrTrjgEsittZHsXm8vCF4qQVS2iRTQSZXV/image.png"],"links":["https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage","https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing","https://coinmarketcap.com/currencies/funfair/","https://coinmarketcap.com/currencies/stellar/","https://coinmarketcap.com/currencies/digital-bullion-gold/","https://coinmarketcap.com/currencies/status/","https://coinmarketcap.com/currencies/cardano/","https://coinmarketcap.com/currencies/enigma-project/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #18754067/Trx f2848aa222222a9c9abb558ada1f3e9f346ec657 |
View Raw JSON Data
{
"trx_id": "f2848aa222222a9c9abb558ada1f3e9f346ec657",
"block": 18754067,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-06T23:58:48",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"title": "Cryptocurrency Linear Arbitrage",
"body": "@@ -2504,16 +2504,22 @@\n and the \n+other \n half wit\n@@ -2848,18 +2848,20 @@\n tarting \n-at\n+with\n %60BTC%60. \n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"profit\",\"crypto\"],\"image\":[\"https://steemitimages.com/DQmNYeC2WomiTCrTrjgEsittZHsXm8vCF4qQVS2iRTQSZXV/image.png\"],\"links\":[\"https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage\",\"https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing\",\"https://coinmarketcap.com/currencies/funfair/\",\"https://coinmarketcap.com/currencies/stellar/\",\"https://coinmarketcap.com/currencies/digital-bullion-gold/\",\"https://coinmarketcap.com/currencies/status/\",\"https://coinmarketcap.com/currencies/cardano/\",\"https://coinmarketcap.com/currencies/enigma-project/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}hr1upvoted (0.05%) @zaccharles / cryptocurrency-linear-arbitrage2018/01/06 22:33:33
hr1upvoted (0.05%) @zaccharles / cryptocurrency-linear-arbitrage
2018/01/06 22:33:33
| voter | hr1 |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| weight | 5 (0.05%) |
| Transaction Info | Block #18752367/Trx 0a198624aad853aa6d1192250707fe2c98f38325 |
View Raw JSON Data
{
"trx_id": "0a198624aad853aa6d1192250707fe2c98f38325",
"block": 18752367,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-06T22:33:33",
"op": [
"vote",
{
"voter": "hr1",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"weight": 5
}
]
}stachuupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage2018/01/06 22:11:09
stachuupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage
2018/01/06 22:11:09
| voter | stachu |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18751921/Trx 0da4909528b9ab4ed03a2a168b026bc61ebc97a2 |
View Raw JSON Data
{
"trx_id": "0da4909528b9ab4ed03a2a168b026bc61ebc97a2",
"block": 18751921,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-06T22:11:09",
"op": [
"vote",
{
"voter": "stachu",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"weight": 10000
}
]
}zaccharlesupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage2018/01/06 22:01:27
zaccharlesupvoted (100.00%) @zaccharles / cryptocurrency-linear-arbitrage
2018/01/06 22:01:27
| voter | zaccharles |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18751727/Trx 89955680ef546f7c1e393eca3e73dc3512aede02 |
View Raw JSON Data
{
"trx_id": "89955680ef546f7c1e393eca3e73dc3512aede02",
"block": 18751727,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-06T22:01:27",
"op": [
"vote",
{
"voter": "zaccharles",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"weight": 10000
}
]
}zaccharlespublished a new post: cryptocurrency-linear-arbitrage2018/01/06 22:01:27
zaccharlespublished a new post: cryptocurrency-linear-arbitrage
2018/01/06 22:01:27
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-linear-arbitrage |
| title | Cryptocurrency Linear Arbitrage |
| body | In [my previous post](https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage), I wrote about my investigation into profitable triangular arbitrage opportunities in the cryptocurrency market. Triangular arbitrage is when you start with currency A, trade it for currency B, then trade that for C, and finally trade C back to A. Due to market inefficiencies, this can sometimes result in having more of currency A than you had at the beginning. The result of my initial investigation was that these opportunities seem to occur about one to three times a minute when filtering out those with profit below 1% (considering trading fees). At that time, I was polling Bittrex's API roughly every 250ms. Sometimes an opportunity would be printed out once, and sometimes multiple times. That meant some were present for longer than others. Given there are three trades in triangular arbitrage, and each trade takes time, some opportunities may not be around long enough to be actionable. Time for some more coding!  Until now, the program was only outputting each opportunity as it came along, so I changed it to keep track of them. Afterwards, the program wrote a message when a new one opened, when it closed, and the duration for which it was open. Below are a few examples. 22:24:37 + ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% 22:24:40 - ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% (3.144s) 22:24:41 + ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% 22:24:41 - ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% (0.243s) 22:27:38 + BTC-BAT > BAT-ETH > ETH-BTC @ 2.06% 22:27:42 - BTC-BAT > BAT-ETH > ETH-BTC @ 2.06% (3.812s) ** ** It's interesting to see that an `ETH > VIB > BTC > ETH` opportunity was open for 3.144s, closed for about a second, then reopened at 1.33% again for only 243ms. We may have been able to trade the first one successfully, but the second closed quite quickly. Some opportunities close even quicker than this, while others are open for anywhere up to 30 seconds. That's very inefficient, but the problem is that the inefficiency is unpredictable... right? Bittrex has three base currencies; `BTC`, `ETH`, and `USDT`. I call these base currencies because you can buy most altcoins with them. In the above example, you can see two opportunities started and ended with `ETH`, and one with `BTC`. In fact, after observing for a day, I noticed that around half started with `ETH` and the half with `BTC`, while only a small amount started with `USDT`. I happily hold both `BTC` and `ETH`, which made me question the point of trading back to the starting currency, which incurs an additional fee. What if we only followed the opportunity path from `ETH` to `BTC`, and then stopped? Likewise, we'd keep the `ETH` when starting at `BTC`. This strategy is what I'm calling linear arbitrage. I ran this strategy in observation mode for almost 48 hours capturing 2,314 opportunities above 1%. You can take a look at [the data](https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing) if you like. Here's a summary: | |Minimum|Average|Maximum| |-----|-------------|-----------|--------------| |**Profit**|1.00%|1.90%|14.80%| |**Duration**|0.030s|5.050s|156.520s| The most commonly inefficient currencies were [FUN](https://coinmarketcap.com/currencies/funfair/), [XLM](https://coinmarketcap.com/currencies/stellar/), [DGB](https://coinmarketcap.com/currencies/digital-bullion-gold/), [SNT](https://coinmarketcap.com/currencies/status/), [ADA](https://coinmarketcap.com/currencies/cardano/), and [ENG](https://coinmarketcap.com/currencies/enigma-project/). Each of these gave above 100 opportunities each, but I'm not convinced there is anything to read into here. More importantly is the fact some opportunities are open for as little as 30ms. There are two trades in linear arbitrage, and that's barely enough time to place a single order. You could solve this by owning all altcoins and doing both trades simultaneously, but I'd rather avoid that. Some of the shorter-lived opportunities may be market-manipulating bots placing small orders which get eaten up quickly. Perhaps the duration can be predicted based on the order size. I ran the strategy in trade-mode very briefly. The results were mixed, so I think this is going to be an essential part of deciding to trade. Are you interested in hearing more about this project? Let me know! |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","profit","crypto"],"image":["https://steemitimages.com/DQmNYeC2WomiTCrTrjgEsittZHsXm8vCF4qQVS2iRTQSZXV/image.png"],"links":["https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage","https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing","https://coinmarketcap.com/currencies/funfair/","https://coinmarketcap.com/currencies/stellar/","https://coinmarketcap.com/currencies/digital-bullion-gold/","https://coinmarketcap.com/currencies/status/","https://coinmarketcap.com/currencies/cardano/","https://coinmarketcap.com/currencies/enigma-project/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #18751727/Trx 89955680ef546f7c1e393eca3e73dc3512aede02 |
View Raw JSON Data
{
"trx_id": "89955680ef546f7c1e393eca3e73dc3512aede02",
"block": 18751727,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-06T22:01:27",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-linear-arbitrage",
"title": "Cryptocurrency Linear Arbitrage",
"body": "In [my previous post](https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage), I wrote about my investigation into profitable triangular arbitrage opportunities in the cryptocurrency market. Triangular arbitrage is when you start with currency A, trade it for currency B, then trade that for C, and finally trade C back to A.\nDue to market inefficiencies, this can sometimes result in having more of currency A than you had at the beginning.\n\nThe result of my initial investigation was that these opportunities seem to occur about one to three times a minute when filtering out those with profit below 1% (considering trading fees).\nAt that time, I was polling Bittrex's API roughly every 250ms. Sometimes an opportunity would be printed out once, and sometimes multiple times. That meant some were present for longer than others. Given there are three trades in triangular arbitrage, and each trade takes time, some opportunities may not be around long enough to be actionable.\n\nTime for some more coding!\n\n\n\nUntil now, the program was only outputting each opportunity as it came along, so I changed it to keep track of them. Afterwards, the program wrote a message when a new one opened, when it closed, and the duration for which it was open. Below are a few examples.\n\n 22:24:37 + ETH-VIB > VIB-BTC > BTC-ETH @ 1.33%\n 22:24:40 - ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% (3.144s)\n 22:24:41 + ETH-VIB > VIB-BTC > BTC-ETH @ 1.33%\n 22:24:41 - ETH-VIB > VIB-BTC > BTC-ETH @ 1.33% (0.243s)\n 22:27:38 + BTC-BAT > BAT-ETH > ETH-BTC @ 2.06%\n 22:27:42 - BTC-BAT > BAT-ETH > ETH-BTC @ 2.06% (3.812s)\n \n** **\nIt's interesting to see that an `ETH > VIB > BTC > ETH` opportunity was open for 3.144s, closed for about a second, then reopened at 1.33% again for only 243ms. We may have been able to trade the first one successfully, but the second closed quite quickly. Some opportunities close even quicker than this, while others are open for anywhere up to 30 seconds. That's very inefficient, but the problem is that the inefficiency is unpredictable... right?\n\nBittrex has three base currencies; `BTC`, `ETH`, and `USDT`. I call these base currencies because you can buy most altcoins with them. In the above example, you can see two opportunities started and ended with `ETH`, and one with `BTC`.\nIn fact, after observing for a day, I noticed that around half started with `ETH` and the half with `BTC`, while only a small amount started with `USDT`. I happily hold both `BTC` and `ETH`, which made me question the point of trading back to the starting currency, which incurs an additional fee.\n\nWhat if we only followed the opportunity path from `ETH` to `BTC`, and then stopped? Likewise, we'd keep the `ETH` when starting at `BTC`. This strategy is what I'm calling linear arbitrage.\nI ran this strategy in observation mode for almost 48 hours capturing 2,314 opportunities above 1%. You can take a look at [the data](https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing) if you like. Here's a summary:\n\n| |Minimum|Average|Maximum|\n|-----|-------------|-----------|--------------|\n|**Profit**|1.00%|1.90%|14.80%|\n|**Duration**|0.030s|5.050s|156.520s|\n\nThe most commonly inefficient currencies were [FUN](https://coinmarketcap.com/currencies/funfair/), [XLM](https://coinmarketcap.com/currencies/stellar/), [DGB](https://coinmarketcap.com/currencies/digital-bullion-gold/), [SNT](https://coinmarketcap.com/currencies/status/), [ADA](https://coinmarketcap.com/currencies/cardano/), and [ENG](https://coinmarketcap.com/currencies/enigma-project/). Each of these gave above 100 opportunities each, but I'm not convinced there is anything to read into here. More importantly is the fact some opportunities are open for as little as 30ms. There are two trades in linear arbitrage, and that's barely enough time to place a single order. You could solve this by owning all altcoins and doing both trades simultaneously, but I'd rather avoid that.\n\nSome of the shorter-lived opportunities may be market-manipulating bots placing small orders which get eaten up quickly. Perhaps the duration can be predicted based on the order size. I ran the strategy in trade-mode very briefly. The results were mixed, so I think this is going to be an essential part of deciding to trade.\n\nAre you interested in hearing more about this project? Let me know!",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"profit\",\"crypto\"],\"image\":[\"https://steemitimages.com/DQmNYeC2WomiTCrTrjgEsittZHsXm8vCF4qQVS2iRTQSZXV/image.png\"],\"links\":[\"https://steemit.com/cryptocurrency/@zaccharles/cryptocurrency-triangular-arbitrage\",\"https://docs.google.com/spreadsheets/d/1Aw4q3MV4q_c9wEeR4WdM_B_lGUTxjNwRp0bQes0T1no/edit?usp=sharing\",\"https://coinmarketcap.com/currencies/funfair/\",\"https://coinmarketcap.com/currencies/stellar/\",\"https://coinmarketcap.com/currencies/digital-bullion-gold/\",\"https://coinmarketcap.com/currencies/status/\",\"https://coinmarketcap.com/currencies/cardano/\",\"https://coinmarketcap.com/currencies/enigma-project/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/06 19:43:24
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/06 19:43:24
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Cryptocurrency Triangular Arbitrage |
| body | Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.  Given how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your funds between the exchanges and repeat the process. Since I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around. I found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source "C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions. That's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be. So I decided not to run Blackbird and do some further investigation. I didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit. I use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work. The code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market. Bittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit. The result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now: > 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:19 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] We can see that at 22:47:18, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take. The average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds. 3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage. Are you interested in hearing more about this project? Let me know! |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","bitcoin","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown","image":["https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png"]} |
| Transaction Info | Block #18748973/Trx 959eb02ee108aed68866ecff4631899332efc03d |
View Raw JSON Data
{
"trx_id": "959eb02ee108aed68866ecff4631899332efc03d",
"block": 18748973,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-06T19:43:24",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Cryptocurrency Triangular Arbitrage",
"body": "Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.\n\n\n\nGiven how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your funds between the exchanges and repeat the process.\n\nSince I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around.\n\nI found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source \"C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges\". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions.\n\nThat's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be.\n\nSo I decided not to run Blackbird and do some further investigation.\n\nI didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit.\n\nI use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work.\n\nThe code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market.\n\nBittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit.\n\nThe result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now:\n\n> 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:19 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n\nWe can see that at 22:47:18, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take.\n\nThe average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds.\n\n3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage.\n\nAre you interested in hearing more about this project? Let me know!",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"bitcoin\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png\"]}"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/06 19:43:09
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/06 19:43:09
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Cryptocurrency Triangular Arbitrage (1) |
| body | Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.  Given how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your funds between the exchanges and repeat the process. Since I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around. I found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source "C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions. That's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be. So I decided not to run Blackbird and do some further investigation. I didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit. I use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work. The code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market. Bittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit. The result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now: > 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC] > 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC] > 22:47:19 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC] We can see that at 22:47:18, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take. The average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds. 3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage. Are you interested in hearing more about this project? Let me know! |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","bitcoin","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown","image":["https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png"]} |
| Transaction Info | Block #18748968/Trx 79e0a63b7b6aebaf7b03772463a438aa0ddcf29f |
View Raw JSON Data
{
"trx_id": "79e0a63b7b6aebaf7b03772463a438aa0ddcf29f",
"block": 18748968,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-06T19:43:09",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Cryptocurrency Triangular Arbitrage (1)",
"body": "Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.\n\n\n\nGiven how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your funds between the exchanges and repeat the process.\n\nSince I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around.\n\nI found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source \"C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges\". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions.\n\nThat's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be.\n\nSo I decided not to run Blackbird and do some further investigation.\n\nI didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit.\n\nI use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work.\n\nThe code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market.\n\nBittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit.\n\nThe result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now:\n\n> 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:17 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.56%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.15%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.15%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.07%): [BTC-PAY] > [PAY-ETH] > [ETH-BTC]\n> 22:47:18 - BTC (0.08%): [BTC-WAVES] > [WAVES-ETH] > [ETH-BTC]\n> 22:47:19 - BTC (0.48%): [BTC-ANT] > [ANT-ETH] > [ETH-BTC]\n\nWe can see that at 22:47:18, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take.\n\nThe average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds.\n\n3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage.\n\nAre you interested in hearing more about this project? Let me know!",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"bitcoin\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png\"]}"
}
]
}cliffxuanupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/01/05 09:27:51
cliffxuanupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/01/05 09:27:51
| voter | cliffxuan |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18707879/Trx 1f16afda2e5963b156b7adff99527845c4774652 |
View Raw JSON Data
{
"trx_id": "1f16afda2e5963b156b7adff99527845c4774652",
"block": 18707879,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-05T09:27:51",
"op": [
"vote",
{
"voter": "cliffxuan",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}2018/01/05 07:47:09
2018/01/05 07:47:09
| parent author | zaccharles |
| parent permlink | cryptocurrency-triangular-arbitrage |
| author | steem-network |
| permlink | re-cryptocurrency-triangular-arbitrage-20180105t074707 |
| title | |
| body | <html> <p>Congratulations <a href="/@zaccharles" target="_blank">@zaccharles</a>, you have decided to take the next big step with your first post! The Steem Network Team wishes you a great time among this awesome community.</p> <hr> <div class="pull-left"><img src="https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif" alt="Thumbs up for Steem Network´s strategy" title="I suggest Steem Network´s strategy" width="320" height="222"></div> <h1>The proven road to boost your personal success in this amazing Steem Network</h1> <p>Do you already know that awesome content will get great profits by following these <a href="/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2018-01-04" target="_blank" alt="Steem Network" title="Follow Steem Network´s suggestions to boost your success">simple steps</a>, that have been worked out by experts?</p> </html> |
| json metadata | {"tags": ["steem-network"], "users": ["steem-network", "zaccharles"], "image": ["https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif"], "links": ["/@zaccharles", "/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2018-01-04"], "community": "steem-network", "app": "steem-network/1.0.1", "format": "html"} |
| Transaction Info | Block #18705866/Trx 8b53657fa49ffe6cd267add7c974ba2e45ec5b50 |
View Raw JSON Data
{
"trx_id": "8b53657fa49ffe6cd267add7c974ba2e45ec5b50",
"block": 18705866,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-05T07:47:09",
"op": [
"comment",
{
"parent_author": "zaccharles",
"parent_permlink": "cryptocurrency-triangular-arbitrage",
"author": "steem-network",
"permlink": "re-cryptocurrency-triangular-arbitrage-20180105t074707",
"title": "",
"body": "<html>\n<p>Congratulations <a href=\"/@zaccharles\" target=\"_blank\">@zaccharles</a>, you have decided to take the next big step with your first post! The Steem Network Team wishes you a great time among this awesome community.</p>\n<hr>\n<div class=\"pull-left\"><img src=\"https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif\" alt=\"Thumbs up for Steem Network´s strategy\" title=\"I suggest Steem Network´s strategy\" width=\"320\" height=\"222\"></div>\n<h1>The proven road to boost your personal success in this amazing Steem Network</h1>\n<p>Do you already know that awesome content will get great profits by following these <a href=\"/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2018-01-04\" target=\"_blank\" alt=\"Steem Network\" title=\"Follow Steem Network´s suggestions to boost your success\">simple steps</a>, that have been worked out by experts?</p>\n</html>",
"json_metadata": "{\"tags\": [\"steem-network\"], \"users\": [\"steem-network\", \"zaccharles\"], \"image\": [\"https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif\"], \"links\": [\"/@zaccharles\", \"/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2018-01-04\"], \"community\": \"steem-network\", \"app\": \"steem-network/1.0.1\", \"format\": \"html\"}"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/04 23:32:36
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/04 23:32:36
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Cryptocurrency Triangular Arbitrage |
| body | @@ -934,31 +934,35 @@ our -USD from Gemini to GDAX +funds between the exchanges and |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","bitcoin","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown","image":["https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png"]} |
| Transaction Info | Block #18695979/Trx 64b38c0521f54e093970c3278d54a3294e4233ff |
View Raw JSON Data
{
"trx_id": "64b38c0521f54e093970c3278d54a3294e4233ff",
"block": 18695979,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T23:32:36",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Cryptocurrency Triangular Arbitrage",
"body": "@@ -934,31 +934,35 @@\n our \n-USD from Gemini to GDAX\n+funds between the exchanges\n and\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"bitcoin\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png\"]}"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/04 23:01:57
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/04 23:01:57
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Cryptocurrency Triangular Arbitrage |
| body | @@ -291,16 +291,106 @@ ideas.%0A%0A +!%5B%5D(https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png)%0A%0A Given ho |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","bitcoin","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown","image":["https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png"]} |
| Transaction Info | Block #18695366/Trx c1ac72052b607c03a19bef960eb2d0a315be5c41 |
View Raw JSON Data
{
"trx_id": "c1ac72052b607c03a19bef960eb2d0a315be5c41",
"block": 18695366,
"trx_in_block": 43,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T23:01:57",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Cryptocurrency Triangular Arbitrage",
"body": "@@ -291,16 +291,106 @@\n ideas.%0A%0A\n+!%5B%5D(https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png)%0A%0A\n Given ho\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"bitcoin\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://steemitimages.com/DQmVXfHNgb4bcwJu3cB3ZBdixiyNFfqwXmb1XbjqMBtooH4/image.png\"]}"
}
]
}zaccharlesfollowed @cryptovestor2018/01/04 21:40:03
zaccharlesfollowed @cryptovestor
2018/01/04 21:40:03
| required auths | [] |
| required posting auths | ["zaccharles"] |
| id | follow |
| json | ["follow",{"follower":"zaccharles","following":"cryptovestor","what":["blog"]}] |
| Transaction Info | Block #18693728/Trx 91d4718a1bca04c20d9a191db3d236e634eaeb6e |
View Raw JSON Data
{
"trx_id": "91d4718a1bca04c20d9a191db3d236e634eaeb6e",
"block": 18693728,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:40:03",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"zaccharles"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"zaccharles\",\"following\":\"cryptovestor\",\"what\":[\"blog\"]}]"
}
]
}zaccharlesupdated their account properties2018/01/04 21:38:27
zaccharlesupdated their account properties
2018/01/04 21:38:27
| account | zaccharles |
| memo key | STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr |
| json metadata | {"profile":{"profile_image":"https://i.imgur.com/mkjP0NA.jpg","name":"Zac Charles","cover_image":"https://i.imgur.com/I0v4MDy.jpg","about":"Programming Addict","location":"London, UK"}} |
| Transaction Info | Block #18693696/Trx 85e26e598681f1d9e323702b9a4a13ab50b8f0ea |
View Raw JSON Data
{
"trx_id": "85e26e598681f1d9e323702b9a4a13ab50b8f0ea",
"block": 18693696,
"trx_in_block": 52,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:38:27",
"op": [
"account_update",
{
"account": "zaccharles",
"memo_key": "STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/mkjP0NA.jpg\",\"name\":\"Zac Charles\",\"cover_image\":\"https://i.imgur.com/I0v4MDy.jpg\",\"about\":\"Programming Addict\",\"location\":\"London, UK\"}}"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/04 21:32:48
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/04 21:32:48
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Cryptocurrency Triangular Arbitrage |
| body | @@ -3848,33 +3848,31 @@ .15%25): %5BBTC- -%3E WAVES%5D -- %3E %5BWAVES-%3EET @@ -3864,39 +3864,36 @@ S%5D %3E %5BWAVES- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D%0A%3E 22:47 @@ -3920,37 +3920,32 @@ BTC- -%3E ANT%5D -- %3E %5BANT- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D @@ -3980,37 +3980,32 @@ BTC- -%3E PAY%5D -- %3E %5BPAY- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D @@ -4032,33 +4032,31 @@ .15%25): %5BBTC- -%3E WAVES%5D -- %3E %5BWAVES-%3EET @@ -4048,39 +4048,36 @@ S%5D %3E %5BWAVES- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D%0A%3E 22:47 @@ -4104,37 +4104,32 @@ BTC- -%3E ANT%5D -- %3E %5BANT- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D @@ -4164,37 +4164,32 @@ BTC- -%3E PAY%5D -- %3E %5BPAY- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D @@ -4216,33 +4216,31 @@ .15%25): %5BBTC- -%3E WAVES%5D -- %3E %5BWAVES-%3EET @@ -4232,39 +4232,36 @@ S%5D %3E %5BWAVES- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D%0A%3E 22:47 @@ -4288,37 +4288,32 @@ BTC- -%3E ANT%5D -- %3E %5BANT- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D @@ -4348,37 +4348,32 @@ BTC- -%3E PAY%5D -- %3E %5BPAY- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D @@ -4400,33 +4400,31 @@ .08%25): %5BBTC- -%3E WAVES%5D -- %3E %5BWAVES-%3EET @@ -4416,39 +4416,36 @@ S%5D %3E %5BWAVES- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D%0A%3E 22:47 @@ -4472,37 +4472,32 @@ BTC- -%3E ANT%5D -- %3E %5BANT- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D @@ -4532,37 +4532,32 @@ BTC- -%3E PAY%5D -- %3E %5BPAY- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D @@ -4592,17 +4592,15 @@ BTC- -%3E WAVES%5D -- %3E %5BW @@ -4604,31 +4604,28 @@ %5BWAVES- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D%0A%3E 2 @@ -4656,37 +4656,32 @@ BTC- -%3E ANT%5D -- %3E %5BANT- -%3E ETH%5D -- %3E %5BETH- -%3E BTC%5D |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","bitcoin","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #18693583/Trx 638dd4c1e31af2dfcea45e3379831b62b9805843 |
View Raw JSON Data
{
"trx_id": "638dd4c1e31af2dfcea45e3379831b62b9805843",
"block": 18693583,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:32:48",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Cryptocurrency Triangular Arbitrage",
"body": "@@ -3848,33 +3848,31 @@\n .15%25): %5BBTC-\n-%3E\n WAVES%5D \n--\n %3E %5BWAVES-%3EET\n@@ -3864,39 +3864,36 @@\n S%5D %3E %5BWAVES-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D%0A%3E 22:47\n@@ -3920,37 +3920,32 @@\n BTC-\n-%3E\n ANT%5D \n--\n %3E %5BANT-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n@@ -3980,37 +3980,32 @@\n BTC-\n-%3E\n PAY%5D \n--\n %3E %5BPAY-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n@@ -4032,33 +4032,31 @@\n .15%25): %5BBTC-\n-%3E\n WAVES%5D \n--\n %3E %5BWAVES-%3EET\n@@ -4048,39 +4048,36 @@\n S%5D %3E %5BWAVES-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D%0A%3E 22:47\n@@ -4104,37 +4104,32 @@\n BTC-\n-%3E\n ANT%5D \n--\n %3E %5BANT-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n@@ -4164,37 +4164,32 @@\n BTC-\n-%3E\n PAY%5D \n--\n %3E %5BPAY-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n@@ -4216,33 +4216,31 @@\n .15%25): %5BBTC-\n-%3E\n WAVES%5D \n--\n %3E %5BWAVES-%3EET\n@@ -4232,39 +4232,36 @@\n S%5D %3E %5BWAVES-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D%0A%3E 22:47\n@@ -4288,37 +4288,32 @@\n BTC-\n-%3E\n ANT%5D \n--\n %3E %5BANT-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n@@ -4348,37 +4348,32 @@\n BTC-\n-%3E\n PAY%5D \n--\n %3E %5BPAY-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n@@ -4400,33 +4400,31 @@\n .08%25): %5BBTC-\n-%3E\n WAVES%5D \n--\n %3E %5BWAVES-%3EET\n@@ -4416,39 +4416,36 @@\n S%5D %3E %5BWAVES-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D%0A%3E 22:47\n@@ -4472,37 +4472,32 @@\n BTC-\n-%3E\n ANT%5D \n--\n %3E %5BANT-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n@@ -4532,37 +4532,32 @@\n BTC-\n-%3E\n PAY%5D \n--\n %3E %5BPAY-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n@@ -4592,17 +4592,15 @@\n BTC-\n-%3E\n WAVES%5D \n--\n %3E %5BW\n@@ -4604,31 +4604,28 @@\n %5BWAVES-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D%0A%3E 2\n@@ -4656,37 +4656,32 @@\n BTC-\n-%3E\n ANT%5D \n--\n %3E %5BANT-\n-%3E\n ETH%5D \n--\n %3E %5BETH-\n-%3E\n BTC%5D\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"bitcoin\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/04 21:31:45
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/04 21:31:45
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Cryptocurrency Triangular Arbitrage |
| body | @@ -3823,38 +3823,25 @@ now:%0A%0A%3E -4/01/2018 10 +22 :47:17 -PM - BTC (0 @@ -3892,38 +3892,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:17 -PM - BTC (0 @@ -3957,38 +3957,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:17 -PM - BTC (0 @@ -4026,30 +4026,17 @@ %5D%0A%3E -4/01/2018 10 +22 :47:17 -PM - BT @@ -4091,38 +4091,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BTC (0 @@ -4156,38 +4156,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BTC (0 @@ -4221,38 +4221,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BTC (0 @@ -4290,38 +4290,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BTC (0 @@ -4355,38 +4355,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BTC (0 @@ -4420,38 +4420,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BTC (0 @@ -4489,38 +4489,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BTC (0 @@ -4554,38 +4554,25 @@ %3EBTC%5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BTC (0 @@ -4623,30 +4623,17 @@ %5D%0A%3E -4/01/2018 10 +22 :47:18 -PM - BT @@ -4692,30 +4692,17 @@ %5D%0A%3E -4/01/2018 10 +22 :47:19 -PM - BT @@ -4775,19 +4775,16 @@ at -10 +22 :47:18 - PM , tr |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","bitcoin","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #18693562/Trx 14f9525c2e46112c98f95cf93737212327c02ac4 |
View Raw JSON Data
{
"trx_id": "14f9525c2e46112c98f95cf93737212327c02ac4",
"block": 18693562,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:31:45",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Cryptocurrency Triangular Arbitrage",
"body": "@@ -3823,38 +3823,25 @@\n now:%0A%0A%3E \n-4/01/2018 10\n+22\n :47:17 \n-PM \n - BTC (0\n@@ -3892,38 +3892,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:17 \n-PM \n - BTC (0\n@@ -3957,38 +3957,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:17 \n-PM \n - BTC (0\n@@ -4026,30 +4026,17 @@\n %5D%0A%3E \n-4/01/2018 10\n+22\n :47:17 \n-PM \n - BT\n@@ -4091,38 +4091,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BTC (0\n@@ -4156,38 +4156,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BTC (0\n@@ -4221,38 +4221,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BTC (0\n@@ -4290,38 +4290,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BTC (0\n@@ -4355,38 +4355,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BTC (0\n@@ -4420,38 +4420,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BTC (0\n@@ -4489,38 +4489,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BTC (0\n@@ -4554,38 +4554,25 @@\n %3EBTC%5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BTC (0\n@@ -4623,30 +4623,17 @@\n %5D%0A%3E \n-4/01/2018 10\n+22\n :47:18 \n-PM \n - BT\n@@ -4692,30 +4692,17 @@\n %5D%0A%3E \n-4/01/2018 10\n+22\n :47:19 \n-PM \n - BT\n@@ -4775,19 +4775,16 @@\n at \n-10\n+22\n :47:18\n- PM\n , tr\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"bitcoin\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}zaccharlesupdated their account properties2018/01/04 21:29:33
zaccharlesupdated their account properties
2018/01/04 21:29:33
| account | zaccharles |
| memo key | STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr |
| json metadata | {"profile":{"profile_image":"https://i.imgur.com/mkjP0NA.jpg","name":"Zac","cover_image":"https://i.imgur.com/I0v4MDy.jpg","about":"Programming Addict","location":"London, UK"}} |
| Transaction Info | Block #18693518/Trx efca486e018ebfceecc6250df269969d9b2000f9 |
View Raw JSON Data
{
"trx_id": "efca486e018ebfceecc6250df269969d9b2000f9",
"block": 18693518,
"trx_in_block": 39,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:29:33",
"op": [
"account_update",
{
"account": "zaccharles",
"memo_key": "STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/mkjP0NA.jpg\",\"name\":\"Zac\",\"cover_image\":\"https://i.imgur.com/I0v4MDy.jpg\",\"about\":\"Programming Addict\",\"location\":\"London, UK\"}}"
}
]
}zaccharlesupdated their account properties2018/01/04 21:28:12
zaccharlesupdated their account properties
2018/01/04 21:28:12
| account | zaccharles |
| memo key | STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr |
| json metadata | {"profile":{"profile_image":"https://i.imgur.com/mkjP0NA.jpg","name":"Zac","about":"Programming Addict","location":"London, UK"}} |
| Transaction Info | Block #18693491/Trx 1398c0b73fff6aff31ce18c98b7752d322081baa |
View Raw JSON Data
{
"trx_id": "1398c0b73fff6aff31ce18c98b7752d322081baa",
"block": 18693491,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:28:12",
"op": [
"account_update",
{
"account": "zaccharles",
"memo_key": "STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/mkjP0NA.jpg\",\"name\":\"Zac\",\"about\":\"Programming Addict\",\"location\":\"London, UK\"}}"
}
]
}zaccharlesupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage2018/01/04 21:27:30
zaccharlesupvoted (100.00%) @zaccharles / cryptocurrency-triangular-arbitrage
2018/01/04 21:27:30
| voter | zaccharles |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18693477/Trx a8b16cdbf769545a428bde8f34639c498e1928e9 |
View Raw JSON Data
{
"trx_id": "a8b16cdbf769545a428bde8f34639c498e1928e9",
"block": 18693477,
"trx_in_block": 51,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:27:30",
"op": [
"vote",
{
"voter": "zaccharles",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"weight": 10000
}
]
}zaccharlespublished a new post: cryptocurrency-triangular-arbitrage2018/01/04 21:27:30
zaccharlespublished a new post: cryptocurrency-triangular-arbitrage
2018/01/04 21:27:30
| parent author | |
| parent permlink | cryptocurrency |
| author | zaccharles |
| permlink | cryptocurrency-triangular-arbitrage |
| title | Cryptocurrency Triangular Arbitrage |
| body | Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas. Given how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your USD from Gemini to GDAX and repeat the process. Since I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around. I found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source "C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions. That's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be. So I decided not to run Blackbird and do some further investigation. I didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit. I use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work. The code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market. Bittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit. The result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now: > 4/01/2018 10:47:17 PM - BTC (0.15%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC] > 4/01/2018 10:47:17 PM - BTC (0.56%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC] > 4/01/2018 10:47:17 PM - BTC (0.15%): [BTC->PAY] -> [PAY->ETH] -> [ETH->BTC] > 4/01/2018 10:47:17 PM - BTC (0.15%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.56%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.15%): [BTC->PAY] -> [PAY->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.15%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.48%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.07%): [BTC->PAY] -> [PAY->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.08%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.48%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.07%): [BTC->PAY] -> [PAY->ETH] -> [ETH->BTC] > 4/01/2018 10:47:18 PM - BTC (0.08%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC] > 4/01/2018 10:47:19 PM - BTC (0.48%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC] We can see that at 10:47:18 PM, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take. The average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds. 3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage. Are you interested in hearing more about this project? Let me know! |
| json metadata | {"tags":["cryptocurrency","programming","arbitrage","bitcoin","crypto"],"links":["https://www.investopedia.com/terms/a/arbitrage.asp","https://github.com/butor/blackbird","https://bittrex.com/home/api","https://www.linqpad.net/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #18693477/Trx a8b16cdbf769545a428bde8f34639c498e1928e9 |
View Raw JSON Data
{
"trx_id": "a8b16cdbf769545a428bde8f34639c498e1928e9",
"block": 18693477,
"trx_in_block": 51,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:27:30",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "zaccharles",
"permlink": "cryptocurrency-triangular-arbitrage",
"title": "Cryptocurrency Triangular Arbitrage",
"body": "Recently, I start looking for more opportunities to make money with cryptocurrencies beyond trading. I'm a professional programmer, so I started, as I usually do, by thinking how I can automate something for a profit. Most exchanges offer at least a half-decent API, so I began thinking of ideas.\n\nGiven how new they are, I assumed cryptocurrency markets would be inefficient and I knew that one way to take advantage of market inefficiencies was arbitrage. [Arbitrage](https://www.investopedia.com/terms/a/arbitrage.asp) opportunities occur when the price of an asset (a coin or token in our case) is trading at a different price on different exchanges. As an example, if Bitcoin is trading at $15,000 on GDAX and $15,050 on Gemini, you could simultaneously buy on GDAX and sell on Gemini, resulting in a $50 profit. You could then transfer your USD from Gemini to GDAX and repeat the process.\n\nSince I don't have a verified account on GDAX (that's a separate story), and I'm not eligible for a Gemini account, I continued looking around.\n\nI found [Blackbird](https://github.com/butor/blackbird) which advertises itself as an open-source \"C++ trading system that does automatic long/short arbitrage between Bitcoin exchanges\". Blackbird says it looks for a price difference, then buys (long) on one exchange and short sells on another. It then waits for the price gap to close and exits these positions.\n\nThat's nice, but I started feeling suspicious at this point. Not because I thought the developer had written some bot that was going to steal all my coins, but because, personally, I wouldn't have made this code public if it worked. Logically, this bot is supposed to exploit market inefficiencies, which removes those inefficiencies as a result. The more people running the bot, the less profit there would be.\n\nSo I decided not to run Blackbird and do some further investigation.\n\nI didn't want to deal with multiple exchanges or short selling, so I did a bit of reading about a particular kind of arbitrage I'd read about before called triangular arbitrage. Triangular arbitrage is when you start with one currency, use it to buy a second, trade the second for a third, and lastly, trade the third back to the first. As a more concrete example, you could start with BTC, use it to buy ETH, use that ETH to buy LTC, then sell the LTC for BTC. If there is a significant market inefficiency, this will result in profit.\n\nI use Bittrex often, so I started exploring their API. Their [documentation](https://bittrex.com/home/api) is pathetic, but the API is functional. It has an endpoint which provides details of all of Bittrex's markets (271 at the time of writing) including the Bid and Ask prices. These details were all I needed, so I wrote some C# code in [LINQPad](https://www.linqpad.net/), my goto IDE for this sort of trial and error work.\n\nThe code parsed the data into a graph. I'm talking about the kind of graph you could imagine as a bunch of circles (nodes) linked together by lines. The graph consists of a node for each currency, with links between the nodes representing Bittrex markets which could be used to get from one currency to the other, and the current prices of that market.\n\nBittrex has three base currencies; BTC, ETH, and USDT. I wrote a final piece of code which starts at each of these nodes in the graph and finds a triangular path back to where it started. For example, beginning at the BTC node, we could move to the XRP node, then to the USDT node, then back to the BTC node. The code takes Bittrex's 0.25% trade fee into consideration and outputs all of the triangular arbitrage opportunities which would make a profit.\n\nThe result at this point? There are many times when the market is inefficient to theoretically make a profit. Below is some sample of the output from right now:\n\n> 4/01/2018 10:47:17 PM - BTC (0.15%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:17 PM - BTC (0.56%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:17 PM - BTC (0.15%): [BTC->PAY] -> [PAY->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:17 PM - BTC (0.15%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.56%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.15%): [BTC->PAY] -> [PAY->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.15%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.48%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.07%): [BTC->PAY] -> [PAY->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.08%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.48%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.07%): [BTC->PAY] -> [PAY->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:18 PM - BTC (0.08%): [BTC->WAVES] -> [WAVES->ETH] -> [ETH->BTC]\n> 4/01/2018 10:47:19 PM - BTC (0.48%): [BTC->ANT] -> [ANT->ETH] -> [ETH->BTC]\n\nWe can see that at 10:47:18 PM, trading BTC for ANT, ANT for ETH, then ETH for BTC would have yielded a 0.56% net profit after subtracting trading fees. The output was quite noisy, and I'm not interested in a 0.01% profit, so I chose to filter out anything below 1%, which reduced it down to about one opportunity every minute or two, give or take.\n\nThe average profit I'm seeing is approximately 1.5%, and the highest I've seen has been 14.55%, which was available for 3.044 seconds.\n\n3.044 seconds? In this post, I've only written about the very first iteration of the program. Over the past week, I've improved it quite a bit which resulted in a strategy change to what I'm calling linear arbitrage.\n\nAre you interested in hearing more about this project? Let me know!",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"programming\",\"arbitrage\",\"bitcoin\",\"crypto\"],\"links\":[\"https://www.investopedia.com/terms/a/arbitrage.asp\",\"https://github.com/butor/blackbird\",\"https://bittrex.com/home/api\",\"https://www.linqpad.net/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}zaccharlesupdated their account properties2018/01/04 21:26:51
zaccharlesupdated their account properties
2018/01/04 21:26:51
| account | zaccharles |
| memo key | STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr |
| json metadata | {"profile":{"profile_image":"https://i.imgur.com/mkjP0NA.jpg","name":"Zac"}} |
| Transaction Info | Block #18693464/Trx ba73a3b9b5f084c6aa64d902c46e3f2f52b83e0f |
View Raw JSON Data
{
"trx_id": "ba73a3b9b5f084c6aa64d902c46e3f2f52b83e0f",
"block": 18693464,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T21:26:51",
"op": [
"account_update",
{
"account": "zaccharles",
"memo_key": "STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/mkjP0NA.jpg\",\"name\":\"Zac\"}}"
}
]
}steemcreated a new account: @zaccharles2018/01/04 18:04:03
steemcreated a new account: @zaccharles
2018/01/04 18:04:03
| fee | 0.500 STEEM |
| delegation | 57000.000000 VESTS |
| creator | steem |
| new account name | zaccharles |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM7sU7WRu3yQ8kUs2mYbSD2SySuaXi95NMYLUM4WUTTuHQV5FLcT",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM71Cx8yd7Saesa9zPKEmqmfAwQjaNz6nqWLEg4vmgd9B1V98FgB",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM7cWGWNy1vd2HpqYcoNmrXEtGfdJqpz2FjeMVJvfXmFEgdtEjVD",1]]} |
| memo key | STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr |
| json metadata | |
| extensions | [] |
| Transaction Info | Block #18689412/Trx ee232211b729fbefb61470e968399bb2f7b96deb |
View Raw JSON Data
{
"trx_id": "ee232211b729fbefb61470e968399bb2f7b96deb",
"block": 18689412,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-04T18:04:03",
"op": [
"account_create_with_delegation",
{
"fee": "0.500 STEEM",
"delegation": "57000.000000 VESTS",
"creator": "steem",
"new_account_name": "zaccharles",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7sU7WRu3yQ8kUs2mYbSD2SySuaXi95NMYLUM4WUTTuHQV5FLcT",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM71Cx8yd7Saesa9zPKEmqmfAwQjaNz6nqWLEg4vmgd9B1V98FgB",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7cWGWNy1vd2HpqYcoNmrXEtGfdJqpz2FjeMVJvfXmFEgdtEjVD",
1
]
]
},
"memo_key": "STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr",
"json_metadata": "",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779093264
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779093264
},
"rc_account": {
"account": "zaccharles",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779093264
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://i.imgur.com/mkjP0NA.jpg","name":"Zac Charles","cover_image":"https://i.imgur.com/I0v4MDy.jpg","about":"Programming Addict","location":"London, UK"} |
| JSON METADATA | |
| profile | {"profile_image":"https://i.imgur.com/mkjP0NA.jpg","name":"Zac Charles","cover_image":"https://i.imgur.com/I0v4MDy.jpg","about":"Programming Addict","location":"London, UK"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://i.imgur.com/mkjP0NA.jpg",
"name": "Zac Charles",
"cover_image": "https://i.imgur.com/I0v4MDy.jpg",
"about": "Programming Addict",
"location": "London, UK"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://i.imgur.com/mkjP0NA.jpg",
"name": "Zac Charles",
"cover_image": "https://i.imgur.com/I0v4MDy.jpg",
"about": "Programming Addict",
"location": "London, UK"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM7sU7WRu3yQ8kUs2mYbSD2SySuaXi95NMYLUM4WUTTuHQV5FLcT1/1
Active
Single Signature
Public Keys
STM71Cx8yd7Saesa9zPKEmqmfAwQjaNz6nqWLEg4vmgd9B1V98FgB1/1
Posting
Single Signature
Public Keys
STM7cWGWNy1vd2HpqYcoNmrXEtGfdJqpz2FjeMVJvfXmFEgdtEjVD1/1
Memo
STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7sU7WRu3yQ8kUs2mYbSD2SySuaXi95NMYLUM4WUTTuHQV5FLcT",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM71Cx8yd7Saesa9zPKEmqmfAwQjaNz6nqWLEg4vmgd9B1V98FgB",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7cWGWNy1vd2HpqYcoNmrXEtGfdJqpz2FjeMVJvfXmFEgdtEjVD",
1
]
]
},
"memo": "STM7rkG4XMvZVKedcaJ4REemqHRrgqupgg3rtFWZ4DgfsBHbVDEwr"
}Witness Votes
0 / 30
No active witness votes.
[]