Inspiration and What it does

OTR Ledger is a decentralized finance platform for over-the-road fees related to freight hauling.

During the freight transport process, drivers must account for additional over-the-road expenses and fees out-of-pocket that are often unfair and illegal. While on the road, transporting shipments outside of regular business hours, truck drivers do not have ready access to their banks.

Currently, no platform exists that lends to over-the-road truck drivers who need capital outside of regular business hours, reliable service to continue the freight transport process, tracks transactions and identifies unusual fees between warehouses/shippers/receivers and truck drivers publicly, and aggregates average costs to service trucks.

A decentralized finance platform and ledger listing transactions allows for:

1) Greater transparency among warehouses, service providers, and carriers 2) Accountability among warehouses and shippers/receivers for unfair and illegal fees, data that enables dialogue between vendors and warehouses 3) Greater information on fee requirements for specific shipping routes 4) An "anonymous" voice for truck drivers from marginalized communities - immigrants and female drivers 5) Eliminate wait time for reimbursement 6) Track over-the-road expenses for taxes 7) Better budget forecasting for truck drivers and vendors (who reimburse truck drivers for costs)

Ready access to capital anywhere on the road Third-party logistics brokers and transportation customers do not outline or are even aware of these fees, leaving truck drivers to secure additional money to pay upfront for these hidden fees and causing delays if drivers cannot secure the money through traditional credit services such as T-Check and wire transfer right away. For example, third-party logistics providers are not required to outline permit requirements for specific products to truck drivers. Only upon arrival at a receiving warehouse that truck drivers then may find that the warehouse cannot unload their truck until they pay for and secure a beer hauling permit from a local comptroller's office. A decentralized lending platform allows truck drivers to secure capital while on the road in areas that they do not have access to their banks and verify payment of fees on the blockchain to confirm reimbursement.

Public transparency and anticipation of fees Warehouses are not required and often do not publish fees and rules on freight shipments, making accountability for and standardization of fees difficult. Variation in fees at different warehouses cause confusion, inability to predict upfront costs needed, and lack of guidelines for fair prices. For example, certain warehouses require truck drivers to pay for unloading/loading or "lumper" fees for their staff or an external service to load/unload. UNFI, one of the largest grocer warehouse providers, charge more than $63 for a full truckload while according to TruckerReport.com, the largest trucker online forum, drivers have been charged up to $500 for lumper services at other warehouses. Warehouses may require truck drivers to only use a specific external service that may overcharge drivers due to the lack of competition and public forum to post their fees. A transaction ledger of payments can help truck drivers better anticipate general fees at a specific shipping route or warehouse and make warehouses accountable for unfair and illegal fees.

End to industry discrimination and unfair labor practices related to fees and payments In addition to truck drivers paying for service fees, warehouses, shippers/receivers, and/or entities that pay for the transportation costs must compensate truck drivers for additional wait time for unloading/loading or "detention." According to the American Transportation Research Institute, female truck drivers are 83.3 percent more likely than male truck drivers to experience more than six hour delays, 34.3 percent more likely to experience four to six hour delays, 14.6 percent more likely to experience two to four hour delays.

How I built it

I went through Solidity tutorials. I created my own smart contract for lending to truck drivers and used the Fulcrum integration using bzx.

Challenges I ran into

I chose to work with bzx since it was a decentralized margin lending protocol on the Ethereum mainnet. I did not exactly have a fully functioning dapp. As a beginner with Solidity, I did not initially understand how to start integrate using Kyber and bzx. In order to help bzx generate mass adoption, I have listed suggestions to the documentation that would help better guide beginners and intermediates in Solidity.

Challenge: Advanced documentation that lacked an introduction tutorial

The Fulcrum bzx tutorial included technical terms that beginners would not learn in an intro to Solidity tutorial. In order to make the documentation more accessible, I suggest linking more technical terms to the Solidity documentation and more explanations on how to the initial steps for integration.

For example, the Fulcrum documentation provided links to the Contract ABI on multiple test networks but did not provide an example on how to utilize the contract ABI. In order to help my understanding of Contracts ABI, I had to reference the Contract ABI documentation on the Solidity documentation.

I initially did not want to build on Fulcrum since I did not know how to integrate the Fulcrum smart contract into my own contract. Since connecting smart contracts is one of the most integral parts of the development process, I propose adding the following code snippet to the documentation (for Kovan):

contract fulcrumInterface { function borrowInterestRate() public view returns (uint256); function avgBorrowInterestRate() public view returns (uint256); function getBorrowAmount(uint256 escrowAmount, uint256 leverageAmount, bool withdrawOnOpen) public view returns (uint256); function mint(address receiver, uint256 depositAmount) external returns (uint256 mintAmount); }

address fulcrumkovan = 0xF1C87dD61BF8a4e21978487e2705D52AA687F97E; fulcrumInterface fulcrumcontract = fulcrumInterface(fulcrumkovan);

Challenge: Depreciated integrations or lack of explanations of better integrations

Initially, I was interested in developing on the bzx.js since I was more familiar with Javascript. However, after speaking to the bzx team, I found out that more developers preferred to use Fulcrum instead of bzx.js though I was unable to understand the reason why. I propose more explanations on the most optimal platform for certain use cases/projects.

In addition, we found that the most up-to-date iToken/pToken deployments were on Kovan though Ropsten was still listed as an option. I propose listing the last updated deployments.

What's Next

  • Learn more intermediate and advanced concepts of Solidity

  • Automatic payments for detention or wait times for unloading/loading using blockchain confirmation of times

Built With

Share this project:

Updates