Full Payment Upon Signature

Author: Accord Project

full-payment-upon-signature@0.12.0 Contract ^0.26.0 7eb067949a7187d2ca033eba9e57d8fc7b7b275e6c708e6d3ac1d1cc46dc908a

This is a one-time full payment clause applicable at the signature of the contract.

Download Archive Download Compiled Archive Open in Template Playground Open in VSCode Web

Full Payment Upon Signature

This is a one-time full payment clause applicable at the signature of the contract.

Template Text

Upon the signing of this Agreement, "Dan" shall pay the total purchase price to "Steve" in the amount of 0.01 USD.

Upon the signing of this Agreement, "Dan" shall pay the total purchase price to "Steve" in the amount of 0.01 USD.
Upon the signing of this Agreement, {{buyer}} shall pay the total purchase price to {{seller}} in the amount of {{amount}} {{currencyCode}}.
{
  "$class": "org.accordproject.fullpaymentupondsignature@0.1.0.TemplateModel",
  "buyer": "resource:org.accordproject.party.Party#Dan",
  "seller": "resource:org.accordproject.party.Party#Steve",
  "amount": {
    "$class": "org.accordproject.money.MonetaryAmount",
    "doubleValue": 0.01,
    "currencyCode": "USD"
  },
  "$identifier": "eb47cf04-9706-435b-91f9-3da5a8b7dfb7",
  "clauseId": "eb47cf04-9706-435b-91f9-3da5a8b7dfb7"
}

Template Model

namespace org.accordproject.fullpaymentupondsignature@0.1.0

import org.accordproject.contract@0.2.0.Clause from https://models.accordproject.org/accordproject/contract@0.2.0.cto
import org.accordproject.runtime@0.2.0.{Request,Response} from https://models.accordproject.org/accordproject/runtime@0.2.0.cto

/**
 * The template model
 */
@template
asset TemplateModel extends Clause {
  o String buyer
  o String seller
  o Double amount
  o String currencyCode
}

// Triggered when contract is signed
transaction ContractSigned extends Request {
}

transaction ContractSignedResponse extends Response {
}

transaction PaymentReceived extends Request {
}

transaction PaymentReceivedResponse extends Response {
}

// Event emitted when a payment obligation is triggered
event PaymentObligationEvent {
  o Double amount
  o String currencyCode
  o String description
}

// State
concept FullPaymentUponSignatureState identified {
  o String status default="INITIALIZED"
}

Model Dependencies

Template Logic

Find the full logic for this template on on GitHub.

State Types

Type Sample JSON
org.accordproject.runtime@0.2.0.State
{
    "$class": "org.accordproject.runtime@0.2.0.State",
    "$identifier": "79b41660-50a4-11f1-a498-6b6dff021a96"
}

Request Types

Type Sample JSON
org.accordproject.fullpaymentupondsignature@0.1.0.ContractSigned
{
    "$class": "org.accordproject.fullpaymentupondsignature@0.1.0.ContractSigned",
    "$timestamp": "2026-05-15T21:24:37.190Z"
}
org.accordproject.fullpaymentupondsignature@0.1.0.PaymentReceived
{
    "$class": "org.accordproject.fullpaymentupondsignature@0.1.0.PaymentReceived",
    "$timestamp": "2026-05-15T21:24:37.190Z"
}
org.accordproject.runtime@0.2.0.Request
{
    "$class": "org.accordproject.runtime@0.2.0.Request",
    "$timestamp": "2026-05-15T21:24:37.190Z"
}

Response Types

Type Sample JSON
org.accordproject.fullpaymentupondsignature@0.1.0.ContractSignedResponse
{
    "$class": "org.accordproject.fullpaymentupondsignature@0.1.0.ContractSignedResponse",
    "$timestamp": "2026-05-15T21:24:37.190Z"
}
org.accordproject.fullpaymentupondsignature@0.1.0.PaymentReceivedResponse
{
    "$class": "org.accordproject.fullpaymentupondsignature@0.1.0.PaymentReceivedResponse",
    "$timestamp": "2026-05-15T21:24:37.190Z"
}
org.accordproject.runtime@0.2.0.Response
{
    "$class": "org.accordproject.runtime@0.2.0.Response",
    "$timestamp": "2026-05-15T21:24:37.190Z"
}

Events Types

Type Sample JSON

Technical Integration

Please refer to the Accord Project documentation for how to use a template or integrate it within your application.

View the Latest code for this template on GitHub.