User Profile & Auction API

Campaigns auction and on-chain history user profiles

Service

A basic greedy auction is performed when matching campaigns strategies from advertisers and user on-chain profiles.

The strategy with the highest bid will win independently of the condition number of matches with user profile properties such as specific chain balance or protocol interacted.

Dependencies

  • On-chain user history data from Debank api.

  • Infura nodes, for debiting advertisers and crediting publishers on each auction.

Sequence

WIP: add auction seq diagram here ...

Performance Test using K6

Scenario #1 on EC2 Aws / Grafana

Complete auction flow, stress test including Infura and Debank apis

  • Bartio Network Congestion gas price at 70 gwei

- Complete Grafana report link or Pfd file bellow:

  • 50 campaigns with 10 conditions each

  • chains [arb,eth,bsc] with random sample of 100 addresses

  • 880 auction requests = 233 winners and settlement reqs on queue

  • 10 concurrent users for 1.5 min

  • response time avg 1.5sec

  • interval between req: 0 sec

Scenario #2 on Local

Complete auction flow, stress test including Infura and Debank

  • 836 reqs in 1m30s

  • Req response time: avg 730ms

  • 214 Auction Winners from Sample of 100 addresses [arb,ath,bsc]

  • Interval between req: 0 sec

Additional Findings

Separate Settlement micro service was added to the auction to process on-chain settle requests once a day. Prism is covering the transaction costs of debiting advertisers and crediting publishers during each auction or ad display.

Last updated