Contents Menu Expand Light mode Dark mode Auto light/dark mode
Adshares documentation
Light Logo Dark Logo
  • Back to adshares.net
  • Foundations
  • Adshares DAO
    • Learn more
    • Forum
    • FAQ
  • ADS Blockchain
    • How to use ADS Wallet
    • How to get ADS
    • Fees, burning and ADS staking
    • Wrapped ADS
    • Adshares for Metaverse
    • How to convert ADST tokens
    • How to join the Testnet
    • Installation
    • Setting up a local test net
    • Log rotation
    • ADS API
    • How to generate ADS keys
    • How to generate transactions offline
    • How to generate transactions offline with JSON-RPC
    • How to check incoming transactions
    • How to validate account address
    • How to start ADS node
    • ADS browser wallet
      • How to use ADS Wallet
      • Building extension
    • ADS PHP Client
      • Installation
      • Tests
      • Usage
    • ADS Operator
      • Installation
      • Quality
      • Usage
    • ADS Operator Panel
      • Installation
      • Quality
  • Adshares Protocol
    • Authentication
    • Taxonomy
    • Synchronization
      • Be visible for others – send broadcast
      • See others – fetch broadcasts
      • Update inventory
    • Impressions
    • Payments
      • Outgoing payments
      • Incoming payments
  • AdServer
    • AdServer API
      • Authorization
      • Pagination
      • Impressions
      • Campaigns
      • Taxonomy
      • Error responses
    • How to start AdServer
    • How to add html banner
    • List of active AdServers
    • How to use Advertising Ecosystem
    • How to use Advertising Ecosystem Demo
    • Conversions
    • Panel rebranding
    • How to setup fallback backfill code
    • List of available Adzone options
    • Serve ad zone JS code locally to circumvent adblocks
    • Cryptovoxels code for web3ads
    • AdSelect
      • Tests
Back to top
Edit this page

Payments#

Money flow#

skinparam monochrome true
skinparam linetype ortho

actor   "Advertiser"        as advertiser
actor   "Publisher"         as publisher
agent   "Software provider" as provider
agent   "Community"         as community

node "Demand AdServer" as demandServerNode {
    circle  " " as demandIn #black
    card demandLicenseFee [
        License fee
        -----------
        <i>license dependent
        <i>CE free of charge
    ]
    card demandOperatorFee [
        Operator fee
        ------------
        <i>set by the operator
    ]
    card demandCommunityFee [
        Community fee
        -------------
        <i>1% fees
        <i>set by the DAO
    ]
    circle  " " as demandOut #white
}

node "Supply AdServer" as supplyServerNode {
    circle  " " as supplyIn #black
    card supplyLicenseFee [
        License fee
        -----------
        <i>license dependent
        <i>CE free of charge
    ]
    card supplyOperatorFee [
        Operator fee
        ------------
        <i>set by the operator
    ]
    circle  " " as supplyOut #white
}

advertiser -ri-> demandServerNode

demandIn -[dashed]do-> demandLicenseFee
demandLicenseFee --> provider
demandLicenseFee -[dashed]do-> demandOperatorFee
demandOperatorFee -[dashed]do-> demandCommunityFee
demandCommunityFee --> community
demandCommunityFee -[dashed]do-> demandOut

demandServerNode -[bold]ri-> supplyServerNode

supplyIn -[dashed]do-> supplyLicenseFee
supplyLicenseFee --> provider
supplyLicenseFee -[dashed]do-> supplyOperatorFee
supplyOperatorFee -[dashed]do-> supplyOut

supplyServerNode -ri-> publisher

Workflow#

skinparam monochrome true

actor       "Publisher"         as publisher
collections "Supply AdServers"  as supplyServer
participant "ADS Blockchain"    as blockchain
participant "Demand AdServer"   as demandServer

==Outgoing payments==

loop every 1 hour
    demandServer -> demandServer: Generate report
    demandServer -> demandServer: Calculate payments
    demandServer -> blockchain: Send multi transaction
end

==Incoming payments==

loop periodically
    supplyServer -> blockchain: Fetch transactions
    blockchain --> supplyServer: List of transactions
    supplyServer -> supplyServer: Analyze transactions

    supplyServer -> demandServer: Fetch report
    demandServer --> supplyServer: Return report
    supplyServer -> supplyServer: Analyze report
    supplyServer -> publisher: Post profit
end

Contents#

  • Outgoing payments
  • Incoming payments
Next
Outgoing payments
Previous
Impressions
Copyright © 2018-2023, Adshares
Made with Sphinx and @pradyunsg's Furo
On this page
  • Payments
    • Money flow
    • Workflow
    • Contents