• © Goverland Inc. 2026
  • v1.0.3
  • Privacy Policy
  • Terms of Use
JuiceboxDAOJuiceboxDAOby0x50e70c43a5DD812e2309eAcea61348041011b4BAgnance.eth

JBP-507: Fee Discrepancy Reimbursement

Voting ended over 1 year agoSucceeded

Synopsis

There were incorrect fees taken out of payouts to projects between starting from July 25, 2023. This proposal returns the incorrect fees to the projects.

Motivation

On July 29, 2024 Jigglyjams discovered that improper fees were being taken out of payments from the Juicebox treasury to other Juicebox projects (Discord message).

When Juicebox DAO migrated to new JBETHPaymentTerminal's the previous terminals were not see as feeless addresses. As a result all distributePayoutsOf from Juicebox to other projects NOT using the same terminal as Juicebox incurred an incorrect 2.5% protocol fee

In order to prevent this from happening in the future, JBP-506 specifies the setting of all JBETHPaymentTerminal's to feeless.

Specification

See https://github.com/jigglyjams/juicebox-fee-discrepancy for fee calculations and extended research

The following pay transactions shall be executed to resolve the improper fees. For the work done, jigglyjams is requesting a 15% finders fee which shall be sent to @jigglyjams.

ProjectId Project Name & Link Excess Fees Charged (ETH) Finders fee (ETH) After fee (ETH)
387 @wagmi-studios 1.055030557777181604 N/A fees owed N/A fees owed
397 @peel 8.892181052298771322 1.333827157844815698 7.558353894453955624
421 @exhausted-pigeon 2.059416717385266471 0.30891250760778997 1.750504209777476501
470 @breadfruit 1.605713071553927699 0.240856960733089154 1.364856110820838545
477 @nance-app 1.970929431515883919 0.295639414727382587 1.675290016788501332
488 Bananapus 1.761242616497408637 0.264186392474611295 1.497056224022797342
549 Sablier V2 Interop Dev 0.059078174758318802 0.00886172621374782 0.050216448544570982
552 @juicecast 1.306116252162166165 0.195917437824324924 1.110198814337841241
TOTAL 17.654677316171743015 2.648201597425761448 15.006475718745981567

NOTE: @wagmi-studios still owes @juicebox ~1.09 ETH due to a previous error in bookkeeping from February 22, 2023 thus these fees were not taken into account

Rationale

This seems like the proper thing to do

Risks

There is a risk that incorrect values were calculated. Able parties should double check jigglyjams work to mitigate this risk.

Timeline

This proposal shall be executed after the execution of JBP-506 so that the pay terminals they are being sent to are set to feeless.

--- nance-actions
- type: Custom Transaction
  uuid: 914de0793284467699ef9caae3ad6619
  payload:
    value: 0
    tenderlyStatus: "false"
    args:
      - value: 397
        type: uint256
        name: _projectId
      - value: "7558353894453955624"
        type: uint256
        name: _amount
      - type: address
        name: _token
        value: "0x000000000000000000000000000000000000EEEe"
      - type: address
        name: _beneficiary
        value: "0xAF28bcB48C40dBC86f52D459A6562F658fc94B1e"
      - value: 0
        type: uint256
        name: _minReturnedTokens
      - value: true
        type: bool
        name: _preferClaimedTokens
      - value: fee discrepancy
        type: string
        name: _memo
      - value: "0x00"
        type: bytes
        name: _metadata
    functionName: function pay(uint256 _projectId, uint256 _amount, address _token,
      address _beneficiary, uint256 _minReturnedTokens, bool
      _preferClaimedTokens, string _memo, bytes _metadata) payable returns
      (uint256)
    contract: "0x594Cb208b5BB48db1bcbC9354d1694998864ec63"
  governanceCycles:
    - 81
- type: Custom Transaction
  uuid: 87ad3310203e4e03a95105cb0bc03f4d
  payload:
    value: "0"
    tenderlyStatus: "false"
    args:
      - value: "421"
        type: uint256
        name: _projectId
      - value: "1750504209777476501"
        type: uint256
        name: _amount
      - type: address
        name: _token
        value: "0x000000000000000000000000000000000000EEEe"
      - type: address
        name: _beneficiary
        value: "0xAF28bcB48C40dBC86f52D459A6562F658fc94B1e"
      - value: "0"
        type: uint256
        name: _minReturnedTokens
      - value: true
        type: bool
        name: _preferClaimedTokens
      - value: fee discrepancy
        type: string
        name: _memo
      - value: "0x00"
        type: bytes
        name: _metadata
    functionName: function pay(uint256 _projectId, uint256 _amount, address _token,
      address _beneficiary, uint256 _minReturnedTokens, bool
      _preferClaimedTokens, string _memo, bytes _metadata) payable returns
      (uint256)
    contract: "0x594Cb208b5BB48db1bcbC9354d1694998864ec63"
  governanceCycles:
    - 81
- type: Custom Transaction
  uuid: d1915af4c118410eb83acd0167efaa85
  payload:
    value: "0"
    tenderlyStatus: "false"
    args:
      - value: "470"
        type: uint256
        name: _projectId
      - value: "1364856110820838545"
        type: uint256
        name: _amount
      - type: address
        name: _token
        value: "0x000000000000000000000000000000000000EEEe"
      - type: address
        name: _beneficiary
        value: "0xAF28bcB48C40dBC86f52D459A6562F658fc94B1e"
      - value: "0"
        type: uint256
        name: _minReturnedTokens
      - value: true
        type: bool
        name: _preferClaimedTokens
      - value: fee discrepancy
        type: string
        name: _memo
      - value: "0x00"
        type: bytes
        name: _metadata
    functionName: function pay(uint256 _projectId, uint256 _amount, address _token,
      address _beneficiary, uint256 _minReturnedTokens, bool
      _preferClaimedTokens, string _memo, bytes _metadata) payable returns
      (uint256)
    contract: "0xFA391De95Fcbcd3157268B91d8c7af083E607A5C"
  governanceCycles:
    - 81
- type: Custom Transaction
  uuid: eafb8d11bd72421c898acea091c6cb9b
  payload:
    value: "0"
    tenderlyStatus: "false"
    args:
      - value: "477"
        type: uint256
        name: _projectId
      - value: "1675290016788501332"
        type: uint256
        name: _amount
      - type: address
        name: _token
        value: "0x000000000000000000000000000000000000EEEe"
      - type: address
        name: _beneficiary
        value: "0xAF28bcB48C40dBC86f52D459A6562F658fc94B1e"
      - value: "0"
        type: uint256
        name: _minReturnedTokens
      - value: true
        type: bool
        name: _preferClaimedTokens
      - value: fee discrepancy
        type: string
        name: _memo
      - value: "0x00"
        type: bytes
        name: _metadata
    functionName: function pay(uint256 _projectId, uint256 _amount, address _token,
      address _beneficiary, uint256 _minReturnedTokens, bool
      _preferClaimedTokens, string _memo, bytes _metadata) payable returns
      (uint256)
    contract: "0xFA391De95Fcbcd3157268B91d8c7af083E607A5C"
  governanceCycles:
    - 81
- type: Custom Transaction
  uuid: 1d9b7899ba1949828a462c1372e0470d
  payload:
    value: "0"
    tenderlyStatus: "false"
    args:
      - value: "488"
        type: uint256
        name: _projectId
      - value: "1497056224022797342"
        type: uint256
        name: _amount
      - type: address
        name: _token
        value: "0x000000000000000000000000000000000000EEEe"
      - type: address
        name: _beneficiary
        value: "0xAF28bcB48C40dBC86f52D459A6562F658fc94B1e"
      - value: "0"
        type: uint256
        name: _minReturnedTokens
      - value: true
        type: bool
        name: _preferClaimedTokens
      - value: fee discrepancy
        type: string
        name: _memo
      - value: "0x00"
        type: bytes
        name: _metadata
    functionName: function pay(uint256 _projectId, uint256 _amount, address _token,
      address _beneficiary, uint256 _minReturnedTokens, bool
      _preferClaimedTokens, string _memo, bytes _metadata) payable returns
      (uint256)
    contract: "0xFA391De95Fcbcd3157268B91d8c7af083E607A5C"
  governanceCycles:
    - 81
- type: Custom Transaction
  uuid: ad3378203f7b4e5d8b45f5232d05596c
  payload:
    value: "0"
    tenderlyStatus: "false"
    args:
      - value: "549"
        type: uint256
        name: _projectId
      - value: "50216448544570982"
        type: uint256
        name: _amount
      - type: address
        name: _token
        value: "0x000000000000000000000000000000000000EEEe"
      - type: address
        name: _beneficiary
        value: "0xAF28bcB48C40dBC86f52D459A6562F658fc94B1e"
      - value: "0"
        type: uint256
        name: _minReturnedTokens
      - value: true
        type: bool
        name: _preferClaimedTokens
      - value: fee discrepancy
        type: string
        name: _memo
      - value: "0x00"
        type: bytes
        name: _metadata
    functionName: function pay(uint256 _projectId, uint256 _amount, address _token,
      address _beneficiary, uint256 _minReturnedTokens, bool
      _preferClaimedTokens, string _memo, bytes _metadata) payable r

Off-Chain Vote

For
89.95M JBX91.4%
Against
0 JBX0%
Abstain
8.41M JBX8.6%
Quorum:123%
Download mobile app to vote

Discussion

JuiceboxDAOJBP-507: Fee Discrepancy Reimbursement

Timeline

Aug 13, 2024Proposal created
Aug 13, 2024Proposal vote started
Aug 17, 2024Proposal vote ended
Dec 05, 2025Proposal updated