Skip to main content

Mobil3 Hackathon Guide

Build mobile-first crypto applications for Latin America using 0x APIs

Event Overview

Mobil3 Hackathon - Building the Mobile Future of Web3 in Latin America

  • Dates: August 20–24, 2025
  • Location: Mexico City, Mexico
  • Venue: Publi.co Reforma
  • Focus: Mobile-first crypto solutions for real-world challenges
  • Blockchain: Monad

Prizes: $90,000 USD in total cash prizes + 1-week fully sponsored Monad Builder Residency in NYC

Apply: https://mobil3.xyz/

0x Bounty: $4,000 USD

  • Challenge: Build mobile-first crypto applications for Latin America using 0x Swap API, Gasless API, or both.
  • Winners: Up to 4 teams
  • Tracks: Choose Track 1: Payments, Track 2: Consumer Fintech, or both

Track 1: Payments

Faster, cheaper, borderless payments

Use cases:

  • Remittance apps with instant crypto-to-stablecoin swaps
  • Cross-border mobile wallets for local currency ↔ USD stablecoin conversion
  • Gasless payment flows (no native token required)

Track 2: Consumer Fintech

Accessible financial tools for the unbanked/underbanked

Use cases:

  • Savings apps with stablecoin/asset diversification
  • AI-powered swap recommendations and execution
  • Gasless Web3 onboarding (no wallet funding needed)
  • Mobile investment platforms with portfolio swaps

Requirements

  • Integrate Swap API or Gasless API (or both) into a mobile-first app targeting one/both tracks
  • Integration must execute a transaction (not just fetch quotes/prices)
  • Gasless API submissions must show at least one end-to-end gasless flow
  • Optimize for mobile UX in Latin America: low bandwidth, varying device capabilities, need for stablecoins

Judging Criteria

  • Technical Excellence – Clean, complete, robust API integration
  • Mobile Optimization – Smooth UX on mobile devices; handles constraints like slow networks and low storage.
  • Relevance & Impact – Clear value to Latin American users in Payments or Consumer Fintech.
  • Adoption Potential – Demonstrates market fit and scalability.
  • Presentation – A clear, compelling demo showing the app in a real-world use case.

What is 0x?

0x offers professional-grade APIs that aggregate and enable swaps at the best price on 9+ million tokens across 130+ DEXes on your favorite EVM-compatible chains.

  • Swap API → Easily embed swaps with best-execution pricing.
  • Gasless API → Simplify DeFi with end-to-end gasless transactions.

Trusted by: Base App (formerly Coinbase Wallet), Matcha, Phantom, DefiLlama, Robinhood Wallet, Definitive, TrustWallet, deBridge, Socket, Li.Fi, MetaMask, Rainbow, Interface, Burner, and many more.

Test the API

Get a swap quote for WMONAD → USDT
curl --request GET \
--url "https://api.0x.org/swap/permit2/quote?sellAmount=100000000000000000000&chainId=10143&sellToken=0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701&buyToken=0xfBC2D240A5eD44231AcA3A9e9066bc4b33f01149&taker=0xb2d64FA9A19eD9b653b70ae648AA70D1e9547e06" \
--header "0x-api-key: API_KEY" \
--header "0x-version: v2"

You will receive a response that looks like this (see API Reference for details):

Expand to see response
{
"blockNumber": "4207992",
"buyAmount": "34084",
"buyToken": "0xfbc2d240a5ed44231aca3a9e9066bc4b33f01149",
"fees": {
"integratorFee": null,
"zeroExFee": {
"amount": "51",
"token": "0xfbc2d240a5ed44231aca3a9e9066bc4b33f01149",
"type": "volume"
},
"gasFee": null
},
"issues": {
"allowance": {
"actual": "0",
"spender": "0x000000000022d473030f116ddee9f6b43ac78ba3"
},
"balance": null,
"simulationIncomplete": false,
"invalidSourcesPassed": []
},
"liquidityAvailable": true,
"minBuyAmount": "33744",
"permit2": {
"type": "Permit2",
"hash": "0x150733c60db8fdd8b0a069202a468461f0f2c8b2ea1c3841fe7de7140246b3b1",
"eip712": {
"types": {
"EIP712Domain": [
{
"name": "name",
"type": "string"
},
{
"name": "chainId",
"type": "uint256"
},
{
"name": "verifyingContract",
"type": "address"
}
],
"PermitTransferFrom": [
{
"name": "permitted",
"type": "TokenPermissions"
},
{
"name": "spender",
"type": "address"
},
{
"name": "nonce",
"type": "uint256"
},
{
"name": "deadline",
"type": "uint256"
}
],
"TokenPermissions": [
{
"name": "token",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
]
},
"domain": {
"name": "Permit2",
"chainId": 10143,
"verifyingContract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
},
"message": {
"permitted": {
"token": "0x760afe86e5de5fa0ee542fc7b7b713e1c5425701",
"amount": "100000000000000000000"
},
"spender": "0x07f37e56bc55b7f927807171647c2eee95c78f31",
"nonce": "2241959297937691820908574931991589",
"deadline": "1740090601"
},
"primaryType": "PermitTransferFrom"
}
},
"route": {
"fills": [
{
"from": "0x760afe86e5de5fa0ee542fc7b7b713e1c5425701",
"to": "0xfbc2d240a5ed44231aca3a9e9066bc4b33f01149",
"source": "Uniswap_V2",
"proportionBps": "10000"
}
],
"tokens": [
{
"address": "0x760afe86e5de5fa0ee542fc7b7b713e1c5425701",
"symbol": "WMON"
},
{
"address": "0xfbc2d240a5ed44231aca3a9e9066bc4b33f01149",
"symbol": "USDT"
}
]
},
"sellAmount": "100000000000000000000",
"sellToken": "0x760afe86e5de5fa0ee542fc7b7b713e1c5425701",
"tokenMetadata": {
"buyToken": {
"buyTaxBps": "0",
"sellTaxBps": "0"
},
"sellToken": {
"buyTaxBps": "0",
"sellTaxBps": "0"
}
},
"totalNetworkFee": "14851462500000000",
"transaction": {
"to": "0x07f37e56bc55b7f927807171647c2eee95c78f31",
"data": "0x1fff991f000000000000000000000000b2d64fa9a19ed9b653b70ae648aa70d1e9547e06000000000000000000000000fbc2d240a5ed44231aca3a9e9066bc4b33f0114900000000000000000000000000000000000000000000000000000000000083d000000000000000000000000000000000000000000000000000000000000000a0a0816374f4eca88cea608f3c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000c4103b48be00000000000000000000000007f37e56bc55b7f927807171647c2eee95c78f31000000000000000000000000760afe86e5de5fa0ee542fc7b7b713e1c5425701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035b74531e11bdf8f8dbdce2bfccee186ca55c6d80000000000000000000000000000000000000000000000000000000000001e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012438c9c147000000000000000000000000fbc2d240a5ed44231aca3a9e9066bc4b33f01149000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000fbc2d240a5ed44231aca3a9e9066bc4b33f01149000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000ad01c20d5886137e056775af56915de824c8fce500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffc1fb425e00000000000000000000000035b74531e11bdf8f8dbdce2bfccee186ca55c6d8000000000000000000000000760afe86e5de5fa0ee542fc7b7b713e1c54257010000000000000000000000000000000000000000000000056bc75e2d631000000000000000000000000000000000000000006e898131631616b1779bad70bc250000000000000000000000000000000000000000000000000000000067b7ace900000000000000000000000000000000000000000000000000000000000000c0",
"gas": "264026",
"gasPrice": "56250000000",
"value": "0"
},
"zid": "0xa0816374f4eca88cea608f3c"
}

Resources

Swap API

Gasless API

Gasless + Swap Fallback

FAQs

Below are some commonly asked questions at hackathons. For a full list of 0x FAQs, see here.

What is the chain ID for Monad Testnet?

Monad Testnet's chain ID is 10143. See all our supported chains.

What's the Monad Testnet Explorer?
What tokens can I use for testing on Monad Testnet?

Try one of the top tokens listed here: https://testnet.monadexplorer.com/tokens

Note the following:

  • Testnet liquidity is more limited than on mainnet
  • Liquidity sources are also different between mainnets and testnets
  • Not all pairs on mainnet are deployed on testnet, so the token pair availability is more limited
  • Be aware that token you want to use for testing must have liquidity on at least one of the liquidity /sources; otherwise, you will receive an error.
Which other chains does 0x support?
Help, my 0x transaction reverted! How can I troubleshoot?

If your 0x quote is reverting, besides the standard revert issues related to ETH transactions, we recommend checking the following are set correctly:

  • Are allowances properly set for the user to trade the sellToken?
  • Does the user have enough sellToken balance to execute the swap?
  • Do users have enough to pay the gas?
  • The slippage tolerance may be too low if the liquidity is very shallow for the token the user is trying to swap. Read here for how to handle this.

For more details on addressing common issues, read 0x FAQ & Troubleshooting

In my app flow, the transaction will need to be signed by a smart contract rather than an EOA. Do you have recommendations for how to implement this?

Job Opportunities

We’re hiring! https://0x.org/careers