Build on UMA

The UMA open-source standard enables enterprises to build novel payment experiences. It combines human-readable Lightning Addresses with real-time, global payment rails to make sending money as easy as sending an email. UMA enables near-instant, secure payments in any currency.  UMA extends the capabilities of Lightning and LNURL to add support for compliance and fiat currency FX. These features, combined with the Lightning Network's near real-time capabilities and the global liquidity profile of Bitcoin, will enable people worldwide to send and receive money at low cost.  

Developer documentation

UMA developer-friendly documentation is designed to make integration fast and seamless. UMA currently supports Python, Go, Rust, Kotlin/Java, and Typescript/Javascript.

On Github

Check out the UMA Github repo for source code, discussions, and all the latest functionality.

Built for scale

UMA was designed with scale in mind. It allows developers to plug and play new functionality into any project, large or small, right from the start.

  • Currency FX

    Automatically convert any fiat or cryptocurrency when using UMA based on a user's default currency preference.
  • Easy Onboarding

    Onboard new customers easily through UMA's native invite functionality.
  • Memorable Addresses

    UMA has human-readable, personalized addresses that are easy to remember and share.
  • Built-in Compliance

    UMA has workflows to help you meet your regulatory requirements including sanctions screening, transaction pre-screening, and post-transaction monitoring consistent with industry standards.
  • Risk Management

    Familiar and well-tested setup that integrates into existing processes, tools, and risk thresholds.
  • Travel Rule Support

    For transactions requiring travel rule information, the UMA standard facilitates secure information exchange between regulated institutions.
  • End-to-End Encryption

    Provides an encrypted communication channel to send required information - before or contemporaneously - with the payment.
sender_compliance_data = uma.create_compliance_payer_data( receiver_encryption_pubkey=vasp2_encryption_pubkey, signing_private_key=signing_private_key, payer_identifier=sender_identifier, travel_rule_info=travel_rule_info, payer_kyc_status=uma.KycStatus.VERIFIED, payer_utxos=sender_utxos, payer_node_pubkey=sender_node_pubkey, utxo_callback=utxo_callback, )

How UMA Supports Compliance

UMA enables the secure exchange of necessary compliance information between regulated financial institutions. UMA does not itself dictate how financial institutions approach their own compliance obligations; instead, UMA tools can help financial institutions use their existing compliance services (internal or external) for Lightning transaction compliance. Regulated participants sending and receiving payments over Lightning can address their obligations with respect to sanctions screening, transaction monitoring, and travel rule compliance. Integrations with existing compliance service providers, including leading chain analytics firms, enable regulated participants to use their existing compliance workflows to review and monitor UMA-supported transactions over Lightning.

UMA for Enterprises

Infrastructure platforms can offer UMA solutions directly to businesses that want real-time, low-cost payment rails in their products. 

  • Bakkt
  • Zero Hash