Contract 50d34b1c5f174dafcd342d4a1282a7f5a9eb3c0b82bbc60386ea48cb6969e437

← Back to Index 📥 Download WASM

Meta

cliver 26.1.0#1228cff8022b804659750b94b315932b0e0f3f6a
rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.96.0

Instances

  • CB2RQ4JACUQYCEFPQ2W3JQ223M6HINB2TZO7PZJXGFHRPYVR53SPZYCE

Interface

Cancel a pre-funded escrow. Admin-only.

fn cancel(env: soroban_sdk::Env, escrow_id: u64)

Refund — returns full USDC to buyer. Admin-only (dispute resolution).

fn refund(env: soroban_sdk::Env, escrow_id: u64)

Buyer deposits USDC into escrow. The buyer must authorize this transaction (their wallet signs).

fn deposit(env: soroban_sdk::Env, escrow_id: u64)

Raise a dispute — freezes funds until admin resolves. Can be called by either buyer or seller.

fn dispute(
    env: soroban_sdk::Env,
    escrow_id: u64,
    caller: soroban_sdk::Address,
    reason: soroban_sdk::String,
)

Release escrow — sends USDC to seller (minus custody fee). Admin-only. Should be called atomically with NFT transfer.

fn release(env: soroban_sdk::Env, escrow_id: u64)

Admin validates documents (after AI/OCR approval in backend).

fn validate(env: soroban_sdk::Env, escrow_id: u64)
fn get_escrow(env: soroban_sdk::Env, escrow_id: u64) -> EscrowData

Initialize with admin and USDC token contract address.

fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    usdc_token: soroban_sdk::Address,
)

Create a new escrow. Admin-only (triggered by backend on sale preparation). Returns the new escrow_id.

fn create_escrow(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    buyer: soroban_sdk::Address,
    nft_token_id: u64,
    amount_usdc: i128,
    custody_percent: u32,
) -> u64
fn total_escrows(env: soroban_sdk::Env) -> u64
fn get_active_escrows(
    env: soroban_sdk::Env,
    user: soroban_sdk::Address,
) -> soroban_sdk::Vec

Imports

WebAssembly Text (WAT) ▶