openapi: 3.0.3 info: title: Grassroots Economics description: CIC ETH API termsOfService: bzz://grassrootseconomics.eth/terms contact: name: Grassroots Economics url: https://www.grassrootseconomics.org email: will@grassecon.org license: name: GPLv3 version: 0.1.0 servers: - url: / paths: /token: description: Retrieves the default fallback token of the custodial network. get: tags: - Token description: Retrieve transactions operationId: get_default_token responses: "200": description: OK. content: application/json: schema: $ref: "#/components/schemas/Token" x-openapi-router-controller: cic_eth.server.controllers.token_controller /balance: description: Retrieves the current token balance of the given address get: tags: - Account description: Retrieve Address Balance operationId: account_balance parameters: - name: address in: query required: true style: form explode: true schema: $ref: "#/components/schemas/0xAddress" - name: token_symbol in: query required: true style: form explode: true schema: type: string - name: include_pending in: query required: false style: form explode: true schema: type: boolean default: true responses: "200": description: OK. content: application/json: schema: $ref: "#/components/schemas/TokenBalance" x-openapi-router-controller: cic_eth.server.controllers.account_controller /transactions: description: Retrieve an aggregate list of latest transactions of internal and (optionally) external origin in reverse chronological order. get: tags: - Account description: Retrieve Address Balance operationId: list_transactions parameters: - name: address in: query required: true style: form explode: true schema: $ref: "#/components/schemas/0xAddress" - name: limit in: query required: false style: form explode: true schema: type: integer default: 10 responses: "200": description: OK. content: application/json: schema: $ref: "#/components/schemas/Token" x-openapi-router-controller: cic_eth.server.controllers.account_controller /create_account: description: Creates a new blockchain address encrypted with the given password and returns the new address post: tags: - Account description: Creates a new blockchain address operationId: create_account_post parameters: - name: password in: query required: true style: form explode: true allowReserved: true schema: type: string - name: register in: query required: true style: form explode: true allowReserved: true schema: type: boolean default: true responses: "200": description: OK. content: application/json: schema: type: string example: "e88ba386f0efc7117e8d0d17a750fce492516ecb" x-openapi-router-controller: cic_eth.server.controllers.account_controller /transfer: description: Performs a transfer of ERC20 tokens from one address to another. post: tags: - Account description: Performs a transfer of ERC20 tokens from one address to another. operationId: transfer parameters: - name: from_address in: query required: true style: form explode: true schema: $ref: "#/components/schemas/0xAddress" - name: to_address in: query required: true style: form explode: true schema: $ref: "#/components/schemas/0xAddress" - name: value in: query required: true style: form explode: true schema: type: integer - name: token_symbol in: query required: true style: form explode: true schema: type: string responses: "200": description: OK. content: application/json: schema: $ref: "#/components/schemas/Token" x-openapi-router-controller: cic_eth.server.controllers.account_controller /transfer_from: post: tags: - Account description: Performs a transfer of ERC20 tokens by one address on behalf of another address to a third party. operationId: transfer_from parameters: - name: from_address in: query description: Ethereum address of sender required: true style: form explode: true schema: $ref: "#/components/schemas/0xAddress" - name: to_address in: query description: Ethereum address of recipient required: true style: form explode: true schema: $ref: "#/components/schemas/0xAddress" - name: value in: query description: Estimated return from conversion required: true style: form explode: true schema: type: integer - name: token_symbol in: query description: ERC20 token symbol of token to send required: true style: form explode: true schema: type: string - name: spender_address in: query description: Ethereum address of recipient required: true style: form explode: true schema: $ref: "#/components/schemas/0xAddress" responses: "200": description: OK. content: application/json: schema: $ref: "#/components/schemas/Token" x-openapi-router-controller: cic_eth.server.controllers.account_controller components: schemas: "0xAddress": type: string example: 0x-hex Token: type: object properties: symbol: type: string description: Token Symbol address: type: string description: Token Address name: type: string description: Token Name decimals: type: integer description: Decimals example: symbol: 'GTF' address: '3FF776B6f888980DEf9d4220858803f9dC5e341e' decimals: 6 name: "Gift Token" TokenBalance: type: object properties: address: type: string converters: type: array items: type: string balance_network: type: integer balance_incoming: type: integer balance_outgoing: type: integer balance_available: type: integer example: balance_network: 0 address: address balance_incoming: 6 balance_available: 5 converters: - converters - converters balance_outgoing: 1