Carro

Decentralized photo stories with permanent storage on Arweave and ownership via NFTs. Zero gas fees for users through sponsored transactions.

Project Information

At a Glance

Decentralized photo stories with permanent storage on Arweave and ownership via NFTs. Zero gas fees for users through sponsored transactions.

Description

Carro transforms how creators share and own their content. Unlike traditional platforms where content lives on rented servers and disappears when the platform shuts down, Carro stores photo stories permanently on Arweave and mints them as NFTs on Arbitrum Sepolia.

Users sign in with just their email—no wallet setup, no seed phrases, no crypto knowledge required. Behind the scenes, Dynamic's WaaS creates an embedded wallet. When users create a photo story, images are compressed client-side, uploaded to Irys (Arweave), and minted as a Content NFT. All gas fees are covered by our sponsor wallet using signature-based intent verification.

The platform features:

  • One-tap onboarding: Email OTP via Dynamic → auto-mint Identity NFT
  • Gasless creation: Upload 3+ photos → permanent Arweave storage → Content NFT mint, all free
  • On-chain engagement: Likes and views tracked on-chain via Interaction contract
  • Partner portal: Advertisers can sign up, mint Partner NFTs, and prepare ad campaigns
  • Desktop QR landing: Scan to open on mobile, Partners link for advertisers

Every piece of content is cryptographically owned, portable, and survives platform shutdowns. Creators can prove authorship, engagement is transparent and verifiable, and ads can be integrated without compromising the integrity of the feed.

https://carro.claws.page/pitch

Technical Details

Built with Next.js 16 + TypeScript + Tailwind v4. Authentication via Dynamic SDK (email OTP → embedded WaaS wallet). Three ERC-721 contracts on Arbitrum Sepolia: IdentityToken (user accounts), ContentToken (stories), PartnerToken (advertisers). Interaction contract tracks likes/views.

Story creation: client-side image compression → Irys devnet upload → manifest JSON → Content NFT mint. All writes use personal_sign intent verification + sponsor wallet paymaster (zero gas for users).

Feed loads via ContentToken.totalSupply() → fetches manifests from Arweave gateway → displays with on-chain engagement metrics. Partner dashboard allows campaign NFT creation (same pattern as stories but single-image ads).

Challenges: Irys SDK token name mismatch (solved with ethereum + Sepolia RPC), SHA-256 vs keccak256 hash alignment for signature verification, Web3Auth modal CORS workarounds, Dynamic SDK v0.24 API changes from v0.23 examples.

Team

2
QD

Quentin Denolle

AS

Agoston Szoke

Hackathon

HACK THE BLOCK 2026 Paris Blockchain Week XRPL Hackathon

Duration

Apr 11, 6:30 AM - Apr 12, 6:00 PM UTC

View Hackathon Details